Sobes.tech
Middle+

* Няма централизирана история на известията; * Потребителите се оплакват от дублиране и забавяне; * Няма единен SLA, метрики или център за управление. Цел Проектирайте нова платформа за известия, която: * събира събития от различни източници (CRM, Support, Security); * ги маршрутизира по тип и канал (email, SMS, Telegram, push); * осигурява единство в шаблоните, логването и наблюдаемостта; * поддържа SLA (p95 ≤ 3 секунди за доставка); * позволява мащабиране и разширяване на каналите в бъдеще. Задача за кандидата 1. Определете функционалните изисквания на системата. 2. Опишете нефункционалните изисквания (надеждност, производителност, обработка на грешки). 3. Създайте контекстна диаграма (C4 Ниво 2). 4. Добавете схема на диаграма на последователността. Например, изпращане на съобщение от...

sobes.tech AI

Отговор от AI

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

  • Приём и агрегация событий из различных источников (CRM, Support, Security).
  • Классификация и маршрутизация уведомлений по типу и каналу (email, SMS, Telegram, push).
  • Управление шаблонами уведомлений с возможностью единообразного редактирования.
  • Логирование всех событий и действий для аудита и отладки.
  • Метрики и мониторинг (включая SLA, например p95 ≤ 3 сек на доставку).
  • Поддержка масштабируемости и расширяемости (добавление новых каналов).

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

  • Надёжность: система должна быть устойчива к сбоям, с механизмами повторной отправки и резервирования.
  • Производительность: обработка и доставка уведомлений в пределах SLA.
  • Обработка ошибок: детальный лог ошибок, уведомления об ошибках, возможность отката.
  • Безопасность: защита данных пользователей и каналов связи.

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

  • Внешние системы: CRM, Support, Security (источники событий).

  • Notification Platform:

    • Event Aggregator
    • Router (маршрутизация по каналам)
    • Template Manager
    • Delivery Services (Email, SMS, Telegram, Push)
    • Logging & Monitoring
  • Пользователи и администраторы (через UI или API для управления и мониторинга).


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

  1. Источник события (например, CRM) отправляет событие в Notification Platform.
  2. Event Aggregator принимает событие.
  3. Router определяет канал и тип уведомления.
  4. Template Manager формирует сообщение по шаблону.
  5. Delivery Service отправляет уведомление через выбранный канал.
  6. Logging фиксирует событие и статус доставки.
  7. Monitoring обновляет метрики и SLA.

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