Програмний продукт розробляється як система автоматизації електронних аукціонів, що:
Підтримує публікацію оголошення, реєстрацію учасників, подачу ставок, проведення торгів та визначення переможця.
Забезпечує інтеграцію ЦБД Prozorro.Sale із зовнішніми Майданчиками.
Використовує MongoDB у кластері AWS для зберігання даних.
Реалізує безпечний обмін даними та логування всіх подій у системі.
Працює на AWS з використанням S3 для зберігання файлів та Fargate для серверної логіки.
Опис Функціональних вимог присутній в ТЗ до конкретного продукту
Використання вільно розповсюджуваного програмного забезпечення.
Рівень відкритості програмного забезпечення має бути сумісним з ліцензією Apache 2.0.
Незалежність рішення від пропрієтарних сервісів, включаючи сервіси хостинг-провайдерів.
Використовувані технології повинні мати невизначений або щонайменше річний залишковий життєвий цикл на момент прийняття рішення.
Використання контейнеризації (та оркестрації контейнерів) для всіх оточень.
Виключення компонентів, чия втрата може спричинити значні втрати даних або функціональності.
Механізми синхронізації даних та паралельної обробки повинні гарантувати відсутність конфліктів.
Наявність механізмів повторних спроб або використання проміжних черг між компонентами.
Орієнтація на асинхронну комунікацію між компонентами.
Можливість "гарячого" додавання інстансів будь-яких компонентів.
Покриття коду юніт-тестами має бути ≥85%.
Автоматизоване тестування повинно перевіряти всі критичні бізнес-процеси.
Розробка універсального пакету автотестів для перевірки взаємодії клієнта (майданчика) з API.
Проведення навантажувального тестування з профайлінгом конфігурації відповідно до очікуваного навантаження.
Управління змінними бізнес-логіки через конфігурацію без зміни коду.
Збереження текстів інтерфейсу в конфігураційних файлах.
Можливість відновлення даних з бекапів (ціла база, окрема процедура, окремі дії).
Автоматизована збірка контейнерів.
Автоматизований деплоймент на різні оточення.
Максимальне розділення доступу для окремих клієнтів (майданчиків).
Логування всіх дій адміністратора, що впливають на бізнес-логіку.
Адміністратор не повинен мати доступу до ставок до початку аукціону.
Керування доступом майданчика через мережеві обмеження (білий список IP) та ключі доступу.
Швидке внесення змін у доступи майданчиків.
Заборона доступу до внутрішніх компонентів через мережеві обмеження та механізми авторизації.
Єдиний шлюз для доступу до інфраструктури.
API повинні надавати лише ті можливості, які передбачені документацією.
Використання лише безпечних (шифрованих) з’єднань.
Управління доступом на основі рольової моделі.
Логування всіх змін станів процедур.
Логування дій майданчиків (бізнес-дані, API виклики).
Логування дій користувачів модуля аукціону, включаючи помилки фронтенду.
Можливість відстеження пов’язаних дій у межах однієї логічної транзакції (trackID).
Логування роботи оркестратора, контейнерів, ОС та інфраструктурних сервісів.
Автоматична ротація технічних логів.
Коректне відображення у популярних браузерах (Chrome, Firefox, Safari, Edge, IE).
Дизайн повинен бути адаптивним до різних екранів і пристроїв.
Повідомлення про помилки мають бути зрозумілими та містити рекомендації щодо їх усунення.
У ході виконання робіт необхідно надати пропозиції щодо змін в нормативні акти (при необхідності), в нормативно-технічну документацію відповідно до прийнятих технічних та організаційних рішень.