Middle+
Pratik Görev: Tek Çatı Bildirim Platformu (Notification Platform) Bağlam Şirkette, kullanıcılara bildirim gönderen 3 ayrı sistem bulunmaktadır: 1. CRM — siparişler hakkında e-posta ve push bildirimleri gönderir. 2. Destek Portalı — Telegram botu üzerinden biletlerle ilgili mesajlar gönderir. 3. Güvenlik Sistemi — şüpheli girişler hakkında SMS bildirimleri üretir. Her sistem kendi mantığını uygular: * kendi şablonları, sabit alıcılar; * merkezi bir bildirim geçmişi yok; * kullanıcılar tekrarlar ve gecikmelerden şikayetçidir; * tek bir SLA, metrikler ve kontrol merkezi yok. Hedef Yeni bir Notification Platform tasarlamak: * farklı kaynaklardan (CRM, Support, Security) olayları toplar; * onları tür ve kanal (email, SMS, Telegram, push) ile yönlendirir; * şablonlarda tutarlılık, kayıt ve gözlemlenebilirlik sağlar, * SLA (p95 ≤ 3 saniye teslimat) destekler, * gelecekteki ölçeklendirme ve kanal genişletmesine izin verir. Aday için görev 1. Sistem için fonksiyonel gereksinimleri belirleyin. 2. Güvenilirlik, performans, hata işleme gibi fonksiyonel olmayan gereksinimleri açıklayın. 3. Bağlam diyagramı (C4 Seviye 2) hazırlayın. 4. Bir dizi diyagramı ekleyin. Örneğin, CRM'den mesaj gönderimi.
sobes.tech yapay zeka
AI'dan gelen yanıt
Функциональные требования:
- Приём событий из 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