Middle+
პრაქტიკული დავალება: ერთიანი შეტყობინების პლატფორმა (Notification Platform) კონტექსტი კომპანიაში არსებობს 3 განაწილებული სისტემა, რომლებიც მომხმარებლებს აცნობებენ: 1. CRM — გამოგზავნის ელფოსტებს და push შეტყობინებებს შეკვეთებზე. 2. Support Portal — გამოგზავნის შეტყობინებებს ბილეთებზე 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.
- Обработка ошибок: логирование ошибок, оповещения о сбоях, 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.
Такой подход обеспечит централизованное управление уведомлениями, улучшит качество доставки и упростит масштабирование системы.