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 ticketlerle 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, * tür ve kanal (email, SMS, Telegram, push) bazında yönlendirir, * şablonların tutarlılığını, kayıt ve gözlemi sağlar, * SLA (p95 ≤ 3 saniye teslimat) destekler, * gelecekteki ölçeklendirme ve kanal genişletmesine olanak tanır. 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 sequence diyagramı şeması 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.
- Обработка ошибок: логирование ошибок, оповещения о сбоях, 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.
Такой подход обеспечит централизованное управление уведомлениями, улучшит качество доставки и упростит масштабирование системы.