Sobes.tech
Middle+

Практикалык тапшырма: Бирдиктүү билдирүү платформасы (Notification Platform) Контекст Компанияда колдонуучуларга билдирүү жөнөтүүчү 3 бөлүнгөн системалар бар: 1. CRM — буйрутмалар боюнча электрондук почта жана push билдирүүлөрдү жөнөтөт. 2. Support Portal — 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.
  • Обработка ошибок: логирование ошибок, оповещения о сбоях, 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.

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