Middle+
Praktiskā uzdevums: Vienota paziņojumu platforma (Notification Platform) Konteksts Uzņēmumā ir 3 izkaisīti sistēmas, kas sūta paziņojumus lietotājiem: 1. CRM — sūta e-pastus un push paziņojumus par pasūtījumiem. 2. Atbalsta portāls — sūta ziņojumus par biļetēm Telegram botā. 3. Drošības sistēma — ģenerē SMS paziņojumus par aizdomīgiem pieslēgumiem. Katrs sistēma īsteno savu loģiku: * savas šablonus, hardcoded saņēmējus; * nav centralizētas paziņojumu vēstures; * lietotāji sūdzas par dublēšanos un kavēšanos; * nav vienota SLA, metriku vai vadības centra. Mērķis Izstrādāt jaunu Notification Platform, kas: * apkopo notikumus no dažādiem avotiem (CRM, Support, Security); * tos maršrutē pēc veida un kanāla (epasts, SMS, Telegram, push); * nodrošina šablonu vienotību, reģistrēšanu un novērojamību, * atbalsta SLA (p95 ≤ 3 sekundes piegādei), * ļauj mērogot un paplašināt kanālus nākotnē. Kandidāta uzdevums 1. Definēt sistēmas funkcionālos prasības. 2. Aprakstīt nefunkcionālos prasības (drošība, veiktspēja, kļūdu apstrāde). 3. Izveidot konteksta diagrammu (C4 līmenis 2). 4. Pievienot secības diagrammas shēmu. Piemēram, ziņojuma sūtīšana no CRM.
sobes.tech AI
Atbilde no AI
Функциональные требования:
- Приём событий из CRM, Support Portal и Security System через API или очередь сообщений.
- Маршрутизация уведомлений по типу и каналу (email, SMS, Telegram, push).
- Централизованное управление шаблонами уведомлений с возможностью редактирования.
- Логирование всех отправленных уведомлений с историей и статусами доставки.
- Метрики и мониторинг SLA (например, p95 ≤ 3 секунды на доставку).
- Поддержка масштабирования и добавления новых каналов уведомлений.
- Управление подписками и предпочтениями пользователей.
Нефункциональные требования:
- Надёжность: отказоустойчивость, повторные попытки отправки при ошибках.
- Производительность: обработка и доставка уведомлений в пределах SLA.
- Обработка ошибок: централизованное логирование ошибок, алерты при сбоях.
- Безопасность: аутентификация источников событий, защита данных пользователей.
- Масштабируемость: горизонтальное масштабирование компонентов.
Контекстная диаграмма (C4 Level 2):
- Внешние системы: CRM, Support Portal, Security System.
- Notification Platform:
- API Gateway / Event Receiver
- Event Processor / Router
- Template Service
- Notification Sender (Email, SMS, Telegram, Push)
- Logging & Monitoring
- User Preferences Service
Взаимодействия:
- Внешние системы отправляют события в Notification Platform.
- Платформа обрабатывает, маршрутизирует и отправляет уведомления.
- Логирует результаты и собирает метрики.
Sequence-диаграмма (пример отправки сообщения из CRM):
CRM -> Notification Platform: Отправка события заказа
Notification Platform -> Template Service: Получить шаблон email и push
Notification Platform -> Notification Sender (Email): Отправить email
Notification Platform -> Notification Sender (Push): Отправить push
Notification Sender -> Notification Platform: Статус доставки
Notification Platform -> Logging Service: Записать историю уведомления
Notification Platform -> Monitoring: Обновить метрики SLA