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