Skip to content

Многомодульный проект для отслеживания обновлений и отправки уведомлений через телеграм бота

License

Notifications You must be signed in to change notification settings

nuromirzak/tinkoff_academy

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Телеграм бот оповещатель

Многомодульный проект для отслеживания обновлений и отправки уведомлений через телеграм бота
Ознакомится с проектом »
Сообщить об ошибке · Запросить фичу

Читайте на других языках: English, Русский

Содержание

  1. О Проекте
  2. Создано С Помощью
  3. Начало Работы
  4. Вклад
  5. Лицензия

О Проекте

Этот проект, разработанный в рамках курса Тинькофф Академия, фокусируется на создании двух отдельных веб-сервисов, предназначенных для отслеживания обновлений контента через различные ссылки. Сервисы были специально разработаны для мониторинга вопросов на StackOverflow и обновлений в репозиториях GitHub.

Эти подписки, также известные как ссылки, легко управляются через интерактивный чат с ботом в Telegram. Бот отправляет уведомления в реальном времени в подписанный чат, как только обнаруживает новые изменения или обновления, обеспечивая вашу информированность в любое время.

Проект состоит из трех модулей Maven:

  • bot: Этот модуль предоставляет бота в Telegram, разработанного для облегчения взаимодействия со службой.
  • link-parser: Этот модуль отвечает за разбор содержимого URL.
  • scrapper: Этот модуль работает как фоновая задача, которая сканирует отслеживаемые ссылки и сохраняет их в базе данных.

Хранение данных обеспечивается надежной системой управления базами данных PostgreSQL, обеспечивающей надежные и безопасные решения для хранения данных. Система разработана для взаимодействия с базой данных тремя способами для повышения гибкости:

  • JDBC: Этот API подключает приложения Java к базе данных.
  • JOOQ: Этот инструмент позволяет строить типобезопасные SQL-запросы.
  • Spring Data JPA: Этот модуль упрощает реализацию слоев доступа к данным.

(вернуться в начало)

Создано С Помощью

  • Spring
  • PostgreSQL
  • IntelliJ IDEA

(вернуться в начало)

Начало Работы

Следуйте этим шагам для установки и запуска проекта.

Предварительные Требования

Убедитесь, что следующее установлено на вашем локальном компьютере:

  • Java 17
  • Maven
  • Docker

Установка

  1. Клонируйте этот репозиторий на свой локальный компьютер:

    git clone https://github.com/nuromirzak/tinkoff_academy.git
  2. Перейдите в каталог проекта:

    cd tinkoff_academy
  3. Установите необходимые переменные окружения:

    • MY_BOT_TOKEN_ENV должен быть установлен на ваш токен бота. Вы также можете изменить значение app.bot_token в модуле bot.
    • Установите app.bot_username на имя вашего бота в Telegram в модуле bot.
    • (Необязательно) Остальные настройки не являются обязательными и могут быть настроены согласно вашим требованиям. Вы можете просмотреть и изменить их в application.properties/yaml.
  4. Запустите скрипт для запуска проекта:

    ./start.sh

(вернуться в начало)

Вклад

Вклады делают сообщество открытого исходного кода таким удивительным местом для обучения, вдохновения и творчества. Любой вклад, который вы сделаете, будет очень ценен.

Если у вас есть предложение, которое сделает это лучше, пожалуйста, сделайте fork репозитория и создайте pull request. Вы также можете просто открыть вопрос с тегом "enhancement". Не забудьте поставить проекту звезду! Еще раз спасибо!

  1. Сделайте Fork Проекта
  2. Создайте Ветку для Новой Фичи (git checkout -b feature/AmazingFeature)
  3. Совершите Commit Ваших Изменений (git commit -m 'Add some AmazingFeature')
  4. Выгрузите в Ветку (git push origin feature/AmazingFeature)
  5. Откройте Pull Request

(вернуться в начало)

Лицензия

Распространяется по лицензии MIT. Смотрите LICENSE.txt - для получения дополнительной информации.

(вернуться в начало)

About

Многомодульный проект для отслеживания обновлений и отправки уведомлений через телеграм бота

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages