Skip to content

kuzds/spring-telegrambot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring JavaRush Telegram bot

JavaRush Telegram bot. Project written on the basis of the course

Implemented all the logic, planned up to MVP:

  • User can subscribe on group of posts
  • User can view list of group subscriptions on which user subscribes
  • User can unsubscribe from group of posts
  • User can set an inactive bot and do not receive notifications
  • User can restart getting notifications
  • Admin has ability to see bot statistics

How it works

Based on MVP Scope, we can specify next behaviours (here and after Telegram User, which is using JavaRush Telgegram bot will call User):

  • User can subscribe on group of posts
  • User can view list of group subscriptions on which user subscribes
  • User can unsubscribe from group of posts
  • User can set an inactive bot and do not receive notifications
  • User can restart getting notifications

Find new posts workflow

The workflow of finding new posts and send them to subscribers can be viewed here: Find_New_Posts_WF

Local development

For local development and testing, use docker-compose-mysql.yml. Run command:

# Run mySql
docker-compose -f docker-compose-mysql.yml -p mysql-test up -d    

Technological stack

  • SpringBoot as a skeleton framework
  • Spring Scheduler as a task manager
  • MySQL database as a database for saving user and subscription info
  • Flyway database migration tool
  • Telegram-bot SpringBoot starter
  • Spring Data starter
  • Unirest - lib for working with REST calls