Sobes.tech
Middle+

Praktiskais 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. Support Portal — 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ēšanu 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āciju un novērojamību, * atbalsta SLA (p95 ≤ 3 sekundes piegādei), * ļauj mērogot un paplašināt kanālus nākotnē. Uzdevums kandidātam 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.
  • Обработка ошибок: логирование ошибок, оповещения о сбоях, fallback-каналы.
  • Безопасность: аутентификация источников событий, защита данных пользователей.
  • Масштабируемость: горизонтальное масштабирование компонентов.

Контекстная диаграмма (C4 Level 2):

  • Внешние системы: CRM, Support Portal, Security System.
  • Notification Platform:
    • API Gateway для приёма событий.
    • Event Processor для маршрутизации.
    • Template Manager для шаблонов.
    • Notification Dispatcher для отправки по каналам.
    • Logging & Monitoring.
    • User Preferences Service.

Sequence-диаграмма (отправка сообщения из CRM):

  1. CRM отправляет событие уведомления в Notification Platform через API.
  2. API Gateway принимает событие и передаёт его Event Processor.
  3. Event Processor определяет канал (например, email) и выбирает шаблон из Template Manager.
  4. Формируется сообщение и передаётся Notification Dispatcher.
  5. Notification Dispatcher отправляет email через Email Service.
  6. Статус отправки логируется в Logging & Monitoring.
  7. Notification Platform возвращает статус CRM.

Такой подход обеспечит централизованное управление уведомлениями, улучшит качество доставки и упростит масштабирование системы.