-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Бизнес-требования к Chat Service
Обзор
Служба чата предоставляет возможности обмена сообщениями в реальном времени для страховых агентов. Она обрабатывает пользовательские сообщения через SignalR и обрабатывает внешние события от других микросервисов.
Функциональные требования
1. Аутентификация и авторизация пользователей
- Для доступа к функциям чата пользователи должны пройти аутентификацию с помощью JWT токенов
- Только авторизованные пользователи могут отправлять сообщения и получать уведомления
- Информация о личности пользователя и его аватар извлекается из JWT токена
2. Обмен сообщениями в реальном времени
2.1 Отправка сообщений
- Любой авторизованный пользователь может отправить сообщение всем участникам чата
- Сообщения рассылаются всем подключенным клиентам
- Каждое сообщение содержит информацию об отправителе (логин и аватар)
2.2 События подключения
- При подключении нового пользователя другие участники чата получают уведомление
- При отключении пользователя другие участники чата получают уведомление
3. Обработка внешних событий
3.1 События создания полисов
- Сервис отслеживает события PolicyCreated от Полисного Сервиса
- При создании полиса событие обрабатывается и записывается в лог
- На основе событий создания полисов могут отправляться уведомления
4. Управление уведомлениями
4.1 Системные уведомления
- Администраторы могут отправлять системные уведомления через API
- Уведомления доставляются всем подключенным клиентам чата
- Используется паттерн CQRS с MediatR для обработки команд
Нефункциональные требования
1. Безопасность
- Вся коммуникация должна быть защищена с помощью JWT аутентификации
- Политики CORS должны ограничивать доступ только доверенным источникам
- Конфиденциальность пользовательских данных должна соблюдаться
2. Производительность
- Доставка сообщений должна происходить почти в режиме реального времени
- Сервис должен эффективно обрабатывать множественные одновременные подключения
- Обработка событий не должна блокировать основной поток выполнения
3. Надежность
- Сервис должен корректно обрабатывать ошибки соединения
- Ошибочные ситуации должны быть правильно записаны в лог
- При ошибках обработки событий должна осуществляться повторная попытка или запись в лог
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels