Sobes.tech
Middle+

Task practică: Platform de notificări unificat (Notification Platform) Context În companie există 3 sisteme dispersate care trimit notificări utilizatorilor: 1. CRM — trimite e-mailuri și notificări push despre comenzi. 2. Portal de suport — trimite mesaje despre tichete în botul Telegram. 3. Sistem de securitate — generează alerte SMS despre accesuri suspecte. Fiecare sistem implementează propria logică: * șabloane proprii, destinatari hardcoded; * fără istorie centralizată a notificărilor; * utilizatorii se plâng de duplicate și întârzieri; * fără SLA, metrici sau centru de control unificat. Obiectiv Proiectați o nouă platformă de notificări care: * agregă evenimente din diferite surse (CRM, Support, Security); * le direcționează după tip și canal (email, SMS, Telegram, push); * asigură uniformitatea șabloanelor, logare și observabilitate, * suportă SLA (p95 ≤ 3 sec pentru livrare), * permite scalarea și extinderea canalelor în viitor. Sarcină pentru candidat 1. Definiți cerințele funcționale ale sistemului. 2. Descrieți cerințele non-funcționale (fiabilitate, performanță, gestionarea erorilor). 3. Elaborați un diagram de context (C4 Nivel 2). 4. Adăugați un schemă de diagramă de secvență. De exemplu, trimiterea unui mesaj din CRM.

sobes.tech AI

Răspuns de la 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