Sobes.tech
Middle+

Tarefa prática: Plataforma de notificações unificada (Notification Platform) Contexto Na empresa, existem 3 sistemas dispersos que enviam notificações aos utilizadores: 1. CRM — envia e-mails e notificações push sobre encomendas. 2. Portal de suporte — envia mensagens sobre tickets no bot do Telegram. 3. Sistema de segurança — gera alertas SMS sobre acessos suspeitos. Cada sistema implementa a sua própria lógica: * modelos próprios, destinatários codificados; * sem história centralizada de notificações; * os utilizadores reclamam de duplicados e atrasos; * sem SLA, métricas ou centro de controlo unificado. Objetivo Projetar uma nova Notification Platform que: * agregue eventos de diferentes fontes (CRM, Support, Security), * os encaminhe por tipo e canal (email, SMS, Telegram, push), * garanta uniformidade nos modelos, registo e observabilidade, * suporte SLA (p95 ≤ 3 seg para entrega), * permita escalabilidade e expansão de canais no futuro. Tarefa para o candidato 1. Defina os requisitos funcionais do sistema. 2. Descreva os requisitos não funcionais (fiabilidade, desempenho, tratamento de erros). 3. Elabore um diagrama de contexto (C4 Nível 2). 4. Adicione um esquema de diagrama de sequência. Por exemplo, envio de mensagem do CRM.

sobes.tech IA

Resposta da IA

Функциональные требования:

  • Приём событий из 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.

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