Sc.Applications
Sc.Applications
1. Назначение сервиса и зона ответственности
Сервис Sc.Applications предназначен для обработки заявок на покупку пространства и других связанных операций. Он предоставляет API для регистрации, получения и обновления заявок, а также для получения информации о сервисе и его состоянии.
2. Архитектура и взаимодействия
Сервис построен на основе ASP.NET Core и использует MediatR для обработки запросов. Взаимодействие с внешними системами осуществляется через RabbitMQ для обмена сообщениями и MongoDB для хранения данных. Сервис также использует JWT для аутентификации пользователей.
3. API/эндпоинты
-
POST /applications/register-art-landing-application
— Регистрация заявки на арт-лендинг. -
POST /applications/purchase-of-space-application
— Регистрация заявки на покупку пространства. -
GET /applications/purchase-of-space-application
— Получение списка заявок на покупку пространства. -
GET /applications/purchase-of-space-application/{applicationId:guid}
— Получение информации о конкретной заявке. -
PUT /applications/purchase-of-space-application/states
— Обновление состояния заявки на покупку пространства. -
GET /serviceinfo/version
— Получение версии сервиса. -
GET /serviceinfo/health
— Проверка работоспособности сервиса.
4. Сборка/запуск
Сервис можно собрать и запустить с помощью .NET. Для этого необходимо выполнить следующие команды:
dotnet build
dotnet run
Также доступен Dockerfile для контейнеризации приложения.
5. Конфигурация
Конфигурация сервиса осуществляется через файлы appsettings.json
и appsettings.Development.json
. Основные переменные окружения и настройки включают:
-
MongoDbConfig
— настройки подключения к MongoDB. -
RabbitMQConnectionSettings
— настройки подключения к RabbitMQ. -
ServiceEndpointsSettings
— URL-адреса для взаимодействия с другими сервисами.
6. Наблюдаемость/логирование/метрики
Сервис использует встроенные механизмы логирования через ILogger
. Также реализованы middleware для сбора статистики HTTP-запросов. Поддержка Health Checks позволяет проверять состояние сервиса.
7. Риски и TODO для следующего техдиректора
- Риски: Необходимость в обеспечении безопасности при работе с JWT и RabbitMQ. Возможные проблемы с масштабируемостью при увеличении нагрузки.
-
TODO:
- Рассмотреть возможность добавления автоматического тестирования.
- Улучшить документацию API с использованием OpenAPI.
- Оптимизировать взаимодействие с базой данных для повышения производительности.
ARCHITECTURE — Sc.Applications
Обзор
- Путь:
D:/Repository/sense-documentaion/Sense-Capital/Sc.Applications
- Языки: —
- Фреймворки: —
- Unity: нет
- Хранилища: —
- Брокеры: —
- Файлов: 151; LOC (оценка): C#: ~4030, JavaScript: ~395
Диаграммы
container.mmd
flowchart LR
user([User]) --> app[Sc.Applications App]
Structurizr DSL: D:/Repository/sense-documentaion/Sense-Capital/Sc.Applications/docs/diagrams/workspace.dsl
Нет комментариев