Данный проект представляет собой реализацию сервиса для обмена уведомлениями
Основные функции сервиса:
- оповещение пользователей
- по электронной почте
- через web socket
- обмен сообщениями между пользователями
- Openjdk 21
- PostgreSQL 14
- Apache Kafka 2.6
- Java 21
- JDBC
- JMS
- Spring Boot 3.5.3
- Jooq 3
- Liquibase 4.24
- N2O Platform 7.0.1
- N2O UI Framework 7.29.1
- Websockets
Документация:
doc- Документация проекта
UI:
messaging-admin-frontend- Запускаемый модуль UI для администрирования уведомлений (включает messaging-admin-web)messaging-admin-web- UI для администрирования уведомлений (включает messaging-web)messaging-web- UI для встраивания пользовательских настроек и ленты уведомлений
Backend:
messaging-backend- Запускаемый модуль бэкендаmessaging-api- REST интерфейсы и модели отправки данныхmessaging-impl- REST сервис уведомлений + скрипты БД
Брокер сообщений:
messaging-support-kafka- Модуль для поддержки работы уведомлений через Kafka
Каналы отправки:
messaging-channel-api- API каналов отправки уведомленийmessaging-email-channel- Модуль отправки уведомлений по электронной почтеmessaging-web-channel- Модуль отправки уведомлений через web socket
Шаги:
- Пользователь открывает в браузере страницу приложения или страницу администрирования модуля уведомлений.
- Браузер устанавливает соединение с WebSocket API сервиса уведомлений.
- Приложение инициирует отправку уведомлений через REST API сервиса уведомлений.
- Уведомление сохраняется в базу данных.
- Уведомление отправляется в topic получателя механизма очередей.
- Topic subscriber получателя забирает уведомление.
- Уведомление отправляется получателю через WebSocket-соединение.
Подробнее см. документацию
