Структура програмного забезпечення визначає компоненти системи, їхні взаємозв’язки, принципи побудови та технології, які використовуються для реалізації.
Архітектура системи Прозорро.Продажі побудована за модульним мікросервісним принципом, що дозволяє масштабувати окремі функціональні блоки без впливу на всю систему.
Програмне забезпечення включає наступні основні рівні:
Призначення: Забезпечує взаємодію користувачів із системою через веб-інтерфейс в модулі аукціонів
Веб-інтерфейс
Реалізований на React.js
Використовує REST API для взаємодії із сервером
Авторизація через JWT
Призначення: Обробка бізнес-логіки, керування даними, авторизація та безпека.
Сервіс управління аукціонами
Логіка створення, публікації та закриття лотів
Облік ставок учасників
Сервіс управління користувачами
Реєстрація, аутентифікація, управління ролями
Основні технології:
Мова програмування: Python (aiohttp+ Django), Node.js, Java (Spring Boot)
Контейнеризація: Docker, Kubernetes
Протоколи: REST, WebSockets
Призначення: Збереження структурованих і неструктурованих даних.
NoSQL база даних (MongoDB)
Збереження даних
Файлове сховище (Amazon S3)
Збереження документів, контрактів та зображень лотів
Журналювання подій (Elasticsearch / Logstash / Kibana)
Аналіз логів та моніторинг роботи системи
Призначення: Обмін даними між внутрішніми та зовнішніми системами.
ЗОВНІШНІ ІНТЕГРАЦІЇ З ДЕРЖ РЕЄСТРАМИ І ТД ВІДСУТНІ
Протоколи взаємодії:
REST API, WebSockets
JWT для авторизації
ПРОГРАМНИЙ ПРОДУКТ МАЄ ВІДПОВІДАТИ ... (ТРЕБА ВЗЯТИ ДСТУ І ISA)