Sobes.tech
Middle+

Արհեստական առաջադրանք՝ Միասնական ծանուցման հարթակ (Notification Platform) Կոնտեքստ Ընկերությունում կան 3 տարբեր համակարգեր, որոնք ուղարկում են ծանուցումներ օգտվողներին. 1. CRM — ուղարկում է էլեկտրոնային փոստ և push ծանուցումներ պատվերների մասին. 2. Support պորտալ — ուղարկում է հաղորդագրություններ տիկետների մասին 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.
  • Обработка ошибок: централизованное логирование ошибок, алерты при сбоях.
  • Безопасность: аутентификация источников событий, защита данных пользователей.
  • Масштабируемость: горизонтальное масштабирование компонентов.

Контекстная диаграмма (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