-
Notifications
You must be signed in to change notification settings - Fork 0
Home
NotifyHub — Чат-бот-регламентатор для напоминаний
NotifyHub — это Telegram-чат-бот, разработанный в рамках производственной практики в компании БАРС ГРУП, предназначенный для своевременного напоминания пользователю о необходимости выполнения регламентных операций.
Возможности:
-
Создание и управление напоминаниями
-
Поддержка периодических уведомлений (день/неделя/месяц)
-
Асинхронная обработка задач с использованием Kafka
-
Масштабируемая микросервисная архитектура:
-
Web API для управления уведомлениями
-
Notification Service для отправки
-
Outbox Processor для планирования и очередей
-
API Gateway для маршрутизации
-
Telegram Bot в роли клиента
-
Техдолг: (что хотелось реализовать, но не хватило времени)
-
Авторизация для API (отправка запросов с помощью access-token в headers у запросов)
-
Тестирование и сбор покрытия тестов
-
Kubernetes
-
Более глубокая настройка логирования и сбор метрик (graylog, graphana)
-
Кэширование запросов в Redis
-
Деплой
-
Автоматическое обновление библиотек (не знаю насколько это реализуемо, но с самописными библиотеками достаточно полезно)
-
Балансировщик нагрузки для API Gateway
-
Retry-политика для NotificationService, в случае, если отправка сообщения не удалась (что-то вроде отдельной таблицы на retry и обходом ее через BackgroundService), сейчас в сервисе такой политики нет, поэтому гарантии 100 процентной доставки тоже нет
-
Возможность отправки уведомления на почту (задел под это есть, email можно передавать при регистрации и обновлении пользователя, так же сервис уведомлений получает почту пользователя и написан EmailService, но самой обработки такого случая нет)
Технологии:
-
.NET 8
-
PostgreSQL
-
Apache Kafka
-
Docker + Docker Compose
-
GitHub Actions (CI/CD)