A ready-to-use Telegram Helper API for helping in daily before sleeping questions.
- 👨💻Tech stack
- ⚡Quick start
-
✈️ Controllers - 🧑🚀Postman Collection
- 🎥Video Presentation
- 🏁Conclusion
- 📝License
Here's a brief high-level overview of the tech stack the BookStore API uses:
- Spring Boot: provides a set of pre-built templates and conventions for creating stand-alone, production-grade Spring-based applications.
- Hibernate: simplifies the interaction between Java applications and databases by mapping Java objects to database tables and vice versa.
- Spring Security: provides features like authentication, authorization, and protection against common security threats.
- Spring Web: includes tools for handling HTTP requests, managing sessions, and processing web-related tasks.
- Spring Data JPA: provides a higher-level abstraction for working with databases and includes support for JPA (Java Persistence API).
- Lombok: helps reduce boilerplate code by automatically generating common code constructs (like getters, setters, constructors, etc.) during compile time.
- Mapstruct: generates mapping code based on annotations, reducing the need for manual, error-prone mapping code.
- Liquibase: helps manage database schema changes over time, making it easier to track and deploy database updates.
- Swagger: provides a framework for generating interactive API documentation, allowing developers to understand, test, and use APIs more easily.
- Docker: provides a consistent and reproducible way to deploy applications across different environments.
- Postman: allows developers to create and send HTTP requests to test APIs, monitor responses, and automate testing workflows.
- Telegram API: provides an integration between Java and Telegram messaging app.
- Chat GPT: generates answers for user prompt questions.
First, download a repository. You can use git console command:
git clone https://github.com/Denis-Balako/Telegram-Helper.git
Build a project using Maven:
mvn clean install
Then, rise a Docker container of your app:
docker build -t {your-image-name} .
docker-compose build
docker-compose up
Also, you can run this project without docker, but before that, you need to configure the connection to your local database in the application properties. Run this command after that:
mvn spring-boot:run
That's all you need to know to start! 🎉
- AuthenticationController: handles user registration and authorization.
- TelegramChatController: manages telegram chat operations, such as finding all, find by ID and get correspondence.
- TelegramMessageController: manages telegram messages operations, allows to get all messages, find message by ID and sending messages.
- TelegramUserController: manages telegram users, allows admins finding all, finding by ID and get all user messages.
For easy test, I've created a Postman collection and environment, that includes all user and admin requests.
For access to all endpoints use admin login in admin endpoints folder or use admin credentials below:
Username: denis@example.com
Password: qwe123456789
This video shows the operation of the application in detail. Here we will see how the search for books and categories works, the ability of the admin to change them, the user functionality, and how the shopping cart and orders work.
Link : https://www.loom.com/share/635cd98a88154d85899f239fbc9781fc?sid=b2e89892-97ec-4dc1-b294-1acd46b7e286
The Telegram Helper API offers a helper for daily things and answer different questions.
This project is licensed under the MIT license. Feel free to edit and distribute this template as you like.