Многомодульный проект для отслеживания обновлений и отправки уведомлений через телеграм бота
Ознакомится с проектом »
Сообщить об ошибке
·
Запросить фичу
Читайте на других языках: English, Русский
Этот проект, разработанный в рамках курса Тинькофф Академия, фокусируется на создании двух отдельных веб-сервисов, предназначенных для отслеживания обновлений контента через различные ссылки. Сервисы были специально разработаны для мониторинга вопросов на StackOverflow и обновлений в репозиториях GitHub.
Эти подписки, также известные как ссылки, легко управляются через интерактивный чат с ботом в Telegram. Бот отправляет уведомления в реальном времени в подписанный чат, как только обнаруживает новые изменения или обновления, обеспечивая вашу информированность в любое время.
Проект состоит из трех модулей Maven:
- bot: Этот модуль предоставляет бота в Telegram, разработанного для облегчения взаимодействия со службой.
- link-parser: Этот модуль отвечает за разбор содержимого URL.
- scrapper: Этот модуль работает как фоновая задача, которая сканирует отслеживаемые ссылки и сохраняет их в базе данных.
Хранение данных обеспечивается надежной системой управления базами данных PostgreSQL, обеспечивающей надежные и безопасные решения для хранения данных. Система разработана для взаимодействия с базой данных тремя способами для повышения гибкости:
- JDBC: Этот API подключает приложения Java к базе данных.
- JOOQ: Этот инструмент позволяет строить типобезопасные SQL-запросы.
- Spring Data JPA: Этот модуль упрощает реализацию слоев доступа к данным.
Следуйте этим шагам для установки и запуска проекта.
Убедитесь, что следующее установлено на вашем локальном компьютере:
- Java 17
- Maven
- Docker
-
Клонируйте этот репозиторий на свой локальный компьютер:
git clone https://github.com/nuromirzak/tinkoff_academy.git
-
Перейдите в каталог проекта:
cd tinkoff_academy
-
Установите необходимые переменные окружения:
MY_BOT_TOKEN_ENV
должен быть установлен на ваш токен бота. Вы также можете изменить значениеapp.bot_token
в модулеbot
.- Установите
app.bot_username
на имя вашего бота в Telegram в модулеbot
. - (Необязательно) Остальные настройки не являются обязательными и могут быть настроены согласно вашим требованиям.
Вы можете просмотреть и изменить их в
application.properties/yaml
.
-
Запустите скрипт для запуска проекта:
./start.sh
Вклады делают сообщество открытого исходного кода таким удивительным местом для обучения, вдохновения и творчества. Любой вклад, который вы сделаете, будет очень ценен.
Если у вас есть предложение, которое сделает это лучше, пожалуйста, сделайте fork репозитория и создайте pull request. Вы также можете просто открыть вопрос с тегом "enhancement". Не забудьте поставить проекту звезду! Еще раз спасибо!
- Сделайте Fork Проекта
- Создайте Ветку для Новой Фичи (
git checkout -b feature/AmazingFeature
) - Совершите Commit Ваших Изменений (
git commit -m 'Add some AmazingFeature'
) - Выгрузите в Ветку (
git push origin feature/AmazingFeature
) - Откройте Pull Request
Распространяется по лицензии MIT. Смотрите LICENSE.txt
- для получения дополнительной информации.