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