Proceedings of the International scientific and practical conference ―Oxford International Science Forum‖ (June 15-17, 2026) / Publisher website: www.naukainfo.com. - Oxford, United Kingdom, 2026. - 84 p.
42 Рис. 1. Шари чистої архітектури системи Функціональне ядро системи утворюють три групи можливостей: аукціонна торгівля (виставлення лоту з типізованими атрибутами, ставки з мінімальним кроком і захистом від снайпінгу [7, с. 1095], автоматичне закриття); захищений платіж і доставка (резервування коштів до отримання предмета, формування накладної, відстеження статусу); та допоміжні функції користувача (автентифікація, профіль із репутаційною історією, каталогізація придбаних предметів, пошук і фасетне фільтрування). Серверне ядро реалізоване на платформі .NET 10, що поєднує статичну типізацію мови C#, зрілі засоби асинхронного програмування та конкурентну продуктивність, важливу для пікового аукціонного навантаження наприкінці торгів. Шар доступу до даних побудовано на Entity Framework Core 10 з провайдером Npgsql, а основним сховищем стану виступає реляційна база PostgreSQL 17: лоти, ставки, замовлення й відправлення формують жорстко структуровані відношення з вимогою транзакційної цілісності, а формат JSONB придає потрібну гнучкість для типізованих атрибутів категорій без окремих таблиць під кожен тип предмета. Прикладну логіку організовано за принципом «одна команда – один обробник» через бібліотеку MediatR, що відокремлює інфраструктуру контролерів від прикладного шару. Валідацію вхідних запитів реалізовано окремими класами-валідаторами FluentValidation, вмонтованими у конвеєр як окрема поведінка перед викликом обробника. Фонові процеси – відкладене закриття аукціону, нагадування про оплату, опитування статусів доставки, синхронізацію пошукового індексу – координує планувальник Hangfire зі сховищем стану у тій самій базі, що забезпечує атомарне комітування доменних змін разом з постановкою задач. Канал комунікації між сервером і клієнтом реалізовано через SignalR, а вільнотекстовий пошук і фасетний пошук винесено на окремий рушій Meilisearch. Зовнішні інтеграції охоплюють платіжний сервіс Stripe Connect Express у режимі ручного захоплення коштів, офіційний API Нової Пошти версії 2 для логістики, протокол OpenID Connect із Google як альтернативний канал входу, сервіс транзакційної пошти Resend та об'єктне сховище Cloudflare R2 для зображень лотів. Клієнтську частину побудовано як застосунок на бібліотеці React 19 з мовою TypeScript, а розгортання серверної й клієнтської частин здійснюється через self-hosted PaaS-платформу Coolify на віртуальному приватному сервері з автоматичним формуванням TLS- сертифікатів. Апробація та результати. Працездатність системи перевірено наскрізною демонстрацією всіх ключових робочих процесів – від анонімного перегляду каталогу до автоматичного зарахування
Made with FlippingBook
RkJQdWJsaXNoZXIy MTAxMzIwNA==