Middle+
Практичнае заданне: Адзіная платформа апавяшчэнняў (Notification Platform) Кантэкст У кампаніі існуюць 3 разрозненыя сістэмы, якія адпраўляюць апавяшчэнні карыстальнікам: 1. CRM — адпраўляе электронныя лісты і push-апавяшчэнні пра заказы. 2. Support Portal — адпраўляе паведамленні пра білеты праз Telegram-бота. 3. Сістэма бяспекі — генеруе SMS-апавяшчэнні пра падазроныя ўваходы. Кожная сістэма рэалізуе сваю логіку: * уласныя шаблоны, жорстка закодаваныя атрымальнікі; * без цэнтралізаванай гісторыі апавяшчэнняў; * карыстальнікі скардзяцца на дублікаты і затрымкі; * без 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):
- CRM отправляет событие уведомления в Notification Platform через API.
- API Gateway принимает событие и передаёт его Event Processor.
- Event Processor определяет канал (например, email) и выбирает шаблон из Template Manager.
- Формируется сообщение и передаётся Notification Dispatcher.
- Notification Dispatcher отправляет email через Email Service.
- Статус отправки логируется в Logging & Monitoring.
- Notification Platform возвращает статус CRM.
Такой подход обеспечит централизованное управление уведомлениями, улучшит качество доставки и упростит масштабирование системы.