Sobes.tech
Middle+

Praktische opdracht: Geïntegreerd notificatieplatform (Notification Platform) Context In het bedrijf zijn er 3 verspreide systemen die notificaties naar gebruikers sturen: 1. CRM — verstuurt e-mails en pushmeldingen over bestellingen. 2. Supportportaal — verstuurt berichten over tickets via de Telegram-bot. 3. Veiligheidssysteem — genereert SMS-meldingen over verdachte inlogpogingen. Elk systeem implementeert zijn eigen logica: * eigen sjablonen, hardcoded ontvangers; * geen gecentraliseerde notificatiegeschiedenis; * gebruikers klagen over duplicaten en vertragingen; * geen uniforme SLA, metrics of control center. Doel Ontwerp een nieuwe Notification Platform die: * gebeurtenissen uit verschillende bronnen (CRM, Support, Security) aggregeert; * ze routeert op type en kanaal (email, SMS, Telegram, push); * uniformiteit in sjablonen, logging en observability garandeert, * SLA ondersteunt (p95 ≤ 3 sec voor levering), * schaalbaarheid en uitbreiding van kanalen in de toekomst mogelijk maakt. Taak voor de kandidaat 1. Definieer de functionele vereisten van het systeem. 2. Beschrijf de niet-functionele vereisten (betrouwbaarheid, prestaties, foutafhandeling). 3. Maak een contextdiagram (C4 Niveau 2). 4. Voeg een sequentiediagram toe. Bijvoorbeeld, het verzenden van een bericht vanuit CRM.

sobes.tech AI

Antwoord van 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