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