Middle+
Praktiki tapşırıq: Birlikdə bildiriş platforması (Notification Platform) Mətn Şirkətdə istifadəçilərə bildiriş göndərən 3 ayrı sistem mövcuddur: 1. CRM — sifarişlər haqqında e-poçt və push bildirişləri göndərir. 2. Support Portal — Telegram botu vasitəsilə bilet haqqında mesajlar göndərir. 3. Təhlükəsizlik Sistemi — şübhəli girişlər barədə SMS bildirişləri yaradır. Hər bir sistem öz logikasını həyata keçirir: * öz şablonlar, hardcoded alıcılar; * mərkəzləşdirilmiş bildiriş tarixi yoxdur; * istifadəçilər təkrarlamalar və gecikmələrdən şikayət edir; * vahid SLA, metriklər və idarəetmə mərkəzi yoxdur. Hədəf Yeni Notification Platformu dizayn edin ki: * müxtəlif mənbələrdən (CRM, Support, Security) hadisələri toplayır; * onları növ və kanal üzrə (email, SMS, Telegram, push) yönləndirir; * şablonlarda vahidlik, qeyd və müşahidə təmin edir, * SLA (p95 ≤ 3 saniyə) dəstəkləyir, * gələcəkdə kanalların genişləndirilməsi və miqyaslandırılmasına imkan verir. Namizəd üçün tapşırıq 1. Sistem üçün funksional tələbləri müəyyən edin. 2. Güvənilirlik, performans və səhv idarəetməsi kimi qeyri-funksional tələbləri təsvir edin. 3. Kontekst diaqramı (C4 Level 2) hazırlayın. 4. Sequens diaqramının sxemini əlavə edin. Məsələn, CRM-dən mesaj göndərilməsi.
sobes.tech Süni İntellekt
AI-dan cavab
Функциональные требования:
- Приём событий из 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