{"repo":"whiskels/NotifierBot","free":true,"listed":false,"github":"https://github.com/whiskels/NotifierBot","clone":"git clone https://github.com/whiskels/NotifierBot.git","description":"Telegram/Slack notification system that creates small but important reports for employees","language":"Java","stars":120,"topics":["telegram","telegram-bot","java","json","logging","spring-boot","spring-jpa","lombok","postgres","telegrambots"],"license":null,"category":"databases-storage","readme_excerpt":"Notifier ...with Telegram Admin panel Trivia Employees of the company perform some routine tasks on the daily basis. The business need for this application is to be able to have something that can automate these routine tasks and prepare reports that are sent to Slack on a daily basis. These reports are gathered from internal systems as well as Google Sheets. Telegram admin panel is added to provide easy access to logs or to retry report generation in case of exceptions. Initially it was supposed to be a Telegram-only bot with role-based access, but over time end users decided to switch to Slack, which is why Telegram authorization was replaced with a simple chat id check. Stack Java 21, Spring Boot, Feign, AOP, Postgres, Testcontainers, Flyway and a bunch of APIs (Slack, Telegram, Google Sheets). Heroku-specific tools - Papertrail - provides service logs - Fixie - provides static IP address to access internal systems Out of scope - Caching - reports are served once a day and on Heroku services are restarted each 24 hours, so caching doesn't add any value Local run You can play with the app on your machine if you'd like to. There is a mock profile you can use for that Firstly build the JAR file using Java 21 Then run docker-compose with environment variables Or if you don't want to use telegram: Adjust application-mock with report.parameters.schedule to send reports to slack Adjust SPRING PROFILES ACTIVE in docker-compose to \"mock\" and run docker-compose with your webhook Flo","default_branch":null,"files":null,"tree":[],"storefront":"/r/whiskels","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/whiskels/NotifierBot/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}