Sobes.tech
Middle+

Практик աշխատանք: Միացյալ ծանուցման հարթակ (Notification Platform) Կոնտեքստ Ընկերությունում կան 3 տարբեր համակարգեր, որոնք ուղարկում են ծանուցումներ օգտվողներին: 1. CRM — ուղարկում էլեկտրոնային փոստեր և push ծանուցումներ պատվերների մասին: 2. Support Portal — ուղարկում հաղորդագրություններ տիկետների մասին Telegram-ботի միջոցով: 3. Անվտանգության համակարգ — ստեղծում SMS ծանուցումներ կասկածելի մուտքերի մասին: Յուրաքանչյուր համակարգ իր տրամաբանությունը իրականացնում է. * սեփական ձևանմուշներ, hardcoded ստացողներ; * կենտրոնական պատմություն ծանուցումների բացակայությամբ; * օգտվողները բողոքում են կրկնությունների և ուշացումների համար; * չկա միացյալ SLA, մետրիկներ կամ կառավարման կենտրոն: Նպատակը Նոր Notification Platform նախագծել, որը: * հավաքում է իրադարձությունները տարբեր աղբյուրներից (CRM, Support, Security), * ուղարկում է ըստ տիպի և ալիքի (էլեկտրոնային փոստ, 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.

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