Решение тестового задания.
- api/framework/Framework.Core – ядро фреймворка
- api/framework/Framework.Infrastructure – инфраструктура фреймворка
- api/migrations/Migrations.PostgreSQL – проект с миграциями БД
- api/modules/arbitration/Arbitration.Domain – домен модуля арбитража
- api/modules/arbitration/Arbitration.Application – уровень приложения модуля арбитража
- api/modules/arbitration/Arbitration.Infrastructure – инфраструктура модуля арбитража
- api/Server – backend службы
- aspire/Host и aspire/ServiceDefaults – проекты для запуска через aspire
Warning
Служба для работы требует локально установленной СУБД PostgreSQL. Если её нет, то необходимо указать корректную строку подключения в api/Server/appsettings.json
- GET /api/v1/arbitration/last – получение последней записи из БД.
- GET /api/v1/arbitration/current – получение текущих цен напрямую с биржи.
- POST /api/v1/arbitration/startrecording – команда начала записи котировок с биржи и сохранения их в БД. Задача выполняется в виде повторяющейся каждую минуту задачи в Hangfire. Dashboard Hangfire доступен по /jobs.
- POST /api/v1/arbitration/stoprecording – команда остановки записи котировок с биржи.