Підсистема нотифікацій користувачів
Загальний опис
Підсистема, призначенням якої є отримання та обробка запитів на відправлення нотифікацій користувачам згідно персональних налаштувань та каналів зв’язку, які підтримуються реєстром.
Функції підсистеми
-
Формування на базі налаштованого шаблону та відправлення поштових нотифікацій з використанням платформного або зовнішнього SMTP-сервера згідно до поточних налаштувань реєстру
-
Формування на базі налаштованого шаблону та відправлення push-нотифікацій в мобільний додаток Дія
-
Формування на базі налаштованого шаблону та створення in-app-нотифікацій в Inbox кабінету користувача
-
Перегляд переліку та підтвердження перегляду in-app повідомлень користувачем
Технічний дизайн підсистеми
На даній діаграмі зображено компоненти, які входять в Підсистема нотифікацій користувачів та їх взаємодію з іншими підсистемами в рамках реалізації функціональних сценаріїв.
Аудит та журналювання подій
Події відправки повідомлень користувачам системою фіксуються у журналі аудиту з повним контекстом. Використовуються наступні назви подій:
-
SEND_USER_NOTIFICATION: Спроба відправки повідомлення з результатом операції
Детальніше з дизайном Підсистеми журналювання подій аудиту можна ознайомитися за посиланням |
Складові підсистеми
Назва компоненти | Представлення в реєстрі | Походження | Репозиторій | Призначення |
---|---|---|---|---|
Сервіс нотифікацій користувачів |
|
origin |
Обробка запитів на відправку повідомлень користувачам згідно налаштувань каналів зв’язку |
|
|
origin |
github:/epam/edp-ddm-registry-postgres/tree/main/platform-db/changesets/notifications |
Зберігання шаблонів повідомлень та inbox-нотифікацій користувачів |
Атрибути якості підсистеми
Scalability
Підсистема нотифікацій користувачів підтримує як горизонтальне, так і вертикальне масштабування.
Детальніше з масштабуванням підсистем можна ознайомитись у відповідних розділах: |
Security
Підсистема нотифікацій користувачів надає API для перегляду персональних inbox-повідомлень через кабінет автентифікованим користувачам та доступна лише через Підсистему управління зовнішнім трафіком.
Observability
Підсистема нотифікацій користувачів підтримує журналювання та збір метрик продуктивності для подальшого аналізу через веб-інтерфейси відповідних підсистем Платформи.
Детальніше з дизайном підсистем можна ознайомитись у відповідних розділах: |
Auditability
Підсистема нотифікацій користувачів фіксує значимі технічні та бізнес події, пов’язані з експлуатацією системи кінцевими користувачами.
Детальніше з дизайном підсистеми можна ознайомитись у відповідних розділах: |
Interoperability
Підсистема нотифікацій користувачів наразі підтримує наступні канали зв’язку з користувачами:
-
inbox - відправлення in-app повідомлень у скриньку кабінетів користувачів
-
email - відправлення поштових повідомлень користувачам з використанням платформенного або зовнішнього поштового сервера
-
diia - відправлення push-нотифікацій у мобільний додаток Дія через зовнішній API-шлюз.