1. Інформаційні моделі
Інформаційні моделі відображають структуру даних, їх зв’язки та логіку обробки у системі.
1.1. Основні інформаційні сутності
У системі «Прозорро.Продажі» визначено ключові сутності:
🔹 Лот (Auction Lot)
Унікальний ідентифікатор лота
Опис та характеристики
Стартова ціна
Мінімальний крок ставки
Статус (активний, завершений, скасований)
🔹 Учасник (Bidder)
Унікальний ідентифікатор
Юридична або фізична особа
Контактні дані
Реєстраційна інформація
Депозит та фінансові зобов’язання
🔹 Ставка (Bid)
ID учасника
ID аукціону
Подана сума
Час подачі
🔹 Аукціон (Auction Process)
Унікальний ідентифікатор
Дата та час старту
Метод проведення (англійський, голландський, інші)
Критерії вибору переможця
Перелік учасників
🔹 Фінансові операції (Payments & Transactions)
ID платежу
ID лота
Сума
Статус платежу
Дата транзакції
2. Опис інтерфейсів
Інтерфейси системи забезпечують взаємодію користувачів, зовнішніх сервісів та інших інформаційних систем.
2.1. Інтерфейси користувачів
🔹 Веб-платформа (UI)
Кабінет адміністратора (управління аукціонами)
Кабінет організатора торгів (створення лотів)
Кабінет учасника (подання ставок, перегляд статусу)
Панель аналітики та звітності
🔹 Мобільний інтерфейс
Спрощений функціонал для учасників торгів
Оповіщення про статус аукціонів
2.2. API-інтерфейси
📌 REST API використовується для інтеграції із зовнішніми системами.
🔹 API для взаємодії з державними реєстрами
ЄДРПОУ (перевірка учасників)
Державний реєстр речових прав (перевірка об’єктів продажу)
Податкова служба (перевірка фінансового стану)
🔹 API для фінансових операцій
Інтеграція з банками та платіжними системами
Перевірка депозитів
Контроль за транзакціями
🔹 API для звітності та аналітики
Взаємодія з контролюючими органами
Формування автоматизованих звітів
3. Структура бази даних
База даних системи реалізована на основі реляційної моделі (PostgreSQL/MySQL) та підтримує NoSQL-компоненти (MongoDB, Elasticsearch) для швидкої обробки великих обсягів даних.
3.1. Основні таблиці БД
| Таблиця | Опис |
|---|---|
| lots | Інформація про аукціонні лоти |
| bidders | Реєстр учасників торгів |
| bids | Ставки, подані на аукціон |
| auctions | Дані про активні та завершені аукціони |
| payments | Інформація про транзакції |
| logs | Журнал подій та змін у системі |
3.2. Зв’язки між таблицями
📌 Використовується реляційна модель, де основна сутність – аукціон, а всі інші сутності пов’язані через зовнішні ключі (foreign keys).
sqlCREATE TABLE lots (
lot_id SERIAL PRIMARY KEY,
description TEXT,
start_price DECIMAL(10,2),
min_bid_step DECIMAL(10,2),
status VARCHAR(20)
);
CREATE TABLE bidders (
bidder_id SERIAL PRIMARY KEY,
name VARCHAR(255),
contact_info TEXT
);
CREATE TABLE bids (
bid_id SERIAL PRIMARY KEY,
lot_id INT REFERENCES lots(lot_id),
bidder_id INT REFERENCES bidders(bidder_id),
bid_amount DECIMAL(10,2),
bid_time TIMESTAMP
);
3.3. Оптимізація бази даних
✅ Індексація ключових полів – підвищує швидкість вибірки даних
✅ Розділення БД на модулі – для масштабованості
✅ Кешування запитів – через Redis або Memcached
✅ Логування операцій – для аудиту та безпеки
4. Висновок
✅ Інформаційна модель системи структурована та охоплює всі бізнес-процеси
✅ API забезпечує інтеграцію з іншими державними та фінансовими системами
✅ База даних оптимізована для швидкої обробки запитів та забезпечення безпеки