Telegram бот для отслеживания commit, issue, pull request в репозиториях на github.
- Добавление, удаление и отображение отслеживаемых репозиториев.
- Рассылка уведомлений об изменениях в репозиториях.
/help- информация о доступных командах./start- запуск./repos- отслеживаемые репозитории./add- добавление репозитория в отслеживание./del- удаление репозитория из отслеживания./cancel- прекращение любой команды.
- Проект состоит из 2 микросервисов - основного сервера, выполняющего CRUD операции для отслеживаемых репозиториев и отслеживающего изменения в них, и сервиса, осуществляющего взаимодействие с пользователем через Telegram API.
- Взаимодействие между сервисами для выполнения CRUD операций осуществляется по http, передача уведомлений об изменениях - через Kafka.
- Для обработки команд пользователя в Telegram реализована машина состояний.
- Kafka.
- Golang.
- segmentio/kafka-go - драйвер для kafka.
- Gorilla/mux - маршрутизация.
- PostgreSQL - хранение информации о пользователях и отслеживаемых репозиториях.
- PGX - драйвер для PostgreSQL.
- Gocron - планировщик задач.
- go-telegram-bot-api - взаимодействия с пользователем через Telegram.