🛠️ Технологии и инструменты: Языки и фреймворки
- Java ☕
- Spring 🌱 (Spring Boot, Spring Kafka, Spring Data JPA)
Базы данных
- PostgreSQL 🐘
Брокер сообщений
- Kafka 🚀
Интеграции
- Google Sheets API 📈
- Telegram Bot API 🤖
Инфраструктура
-
Docker 🐳 (каждый модуль имеет свой Dockerfile для развертывания)
-
Микросервисная архитектура 🧩
🧩 Модули приложения
-
Dispatcher 📨 Отвечает за взаимодействие с Telegram Bot API. Принимает данные от пользователей и отправляет их в Kafka.
-
GoogleSheetService 📊 Получает данные из Kafka. Сохраняет данные в PostgreSQL. Обновляет таблицу Google Sheets на основе полученных данных.
🐳 Развертывание с Docker
Каждый модуль приложения имеет свой Dockerfile, что позволяет легко развернуть приложение на сервере.
Соберите Docker-образы для каждого модуля и запустите их:
docker compose up -d traefik dispatcher googlesheetservice --build
Убедитесь, что Kafka и PostgreSQL также запущены и настроены.
🚀 Как начать
Клонируйте репозиторий:
git clone https://github.com/ваш-username/Telegram-KPI-Bot.git
Настройте переменные окружения:
TELEGRAM_BOT_TOKEN: Токен вашего Telegram-бота.
GOOGLE_SHEETS_CREDENTIALS: JSON-файл с учетными данными для Google Sheets API.
DATABASE_URL, DATABASE_USERNAME, DATABASE_PASSWORD: Данные для подключения к PostgreSQL.
KAFKA_BROKER: Адрес брокера Kafka.
Запустите приложение:
Соберите и запустите Docker-контейнеры (см. раздел Развертывание с Docker).
📬 Контакты
Если у вас есть вопросы или предложения, свяжитесь со мной:
Telegram: @olezha_zaostrovtsev
Email: [email protected]