Sobes.tech
Middle+

Практикалык тапшырма: Бирдиктүү билдирүү платформасы (Notification Platform) Контекст Компанияда колдонуучуларга билдирүүлөр жөнөтүүчү 3 бөлөк система бар: 1. CRM — заказдар боюнча электрондук почта жана push билдирүүлөр жөнөтөт. 2. Support порталы — Telegram боты аркылуу тикеттер жөнүндө билдирүүлөр жөнөтөт. 3. Коопсуздук системасы — шектүү кирүүлөр тууралуу SMS билдирүүлөр чыгарат. Ар бир система өз логикасын ишке ашырат: * өзүнүн шаблондору, hardcoded кабыл алгандар; * борборлоштурулган билдирүү тарыхы жок; * колдонуучулар дублдор жана кечикүүлөр үчүн даттанышууда; * бирдиктүү SLA, метрикалар жана башкаруу борбору жок. Максат Жаңы Notification Platform түзүү: * ар кандай булактардан (CRM, Support, Security) окуяларды чогултуу; * аларды түрү жана каналы боюнча (email, SMS, Telegram, push) маршруттоо; * шаблондордун бирдиктүүлүгүн, журналдаганды жана көзөмөлдүүлүктү камсыздоо, * SLAны колдоо (p95 ≤ 3 секунд жеткирүү үчүн), * каналдарды кеңейтүү жана масштабдоо мүмкүнчүлүгүн берүү. Кандидатка тапшырма 1. Жүйөнүн функционалдык талаптарын аныктоо. 2. Нефункционалдык талаптарды сүрөттөө (ишенимдүүлүк, иштөө ылдамдыгы, каталарды иштетүү). 3. Контексттик диаграмма түзүү (C4 деңгээл 2). 4. Секвенция диаграммасынын схемасын кошуу. Мисалы, CRMден билдирүү жөнөтүү.

sobes.tech AI

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