This project serves as a learning kit for Spring Boot, focusing on the integration of various technologies such as ActiveMQ, RabbitMQ, and PostgreSQL. It provides a hands-on experience for developers looking to enhance their skills in building modern applications. The aim of this project is to:
- Provide a practical understanding of Spring Boot and its ecosystem.
- Tackle real-world challenges in application development.
- Explore the integration of messaging brokers like ActiveMQ and RabbitMQ.
- Follow best practices in software development.
- Encourage collaboration and knowledge sharing among developers.
- Java: Core programming language.
- Spring Boot: Framework for building the application.
- Gradle: Build automation tool.
- ActiveMQ: Message broker for asynchronous communication.
- RabbitMQ: Alternative message broker for asynchronous communication.
- PostgreSQL: Relational database for data storage.
- Prometheus: Monitoring and alerting toolkit.
- Grafana: Visualization tool for monitoring data.
- Jmeter: Java application performance monitoring tool.
- Docker: Containerization platform for local development.
To work on this project, you need to have IntelliJ IDEA installed. It is a powerful IDE for Java development that supports Spring Boot and Gradle. You can download the community version for free from the JetBrains website.
Install Docker Desktop from Docker's official website.
DBeaver is a free, open-source database management tool that supports a wide range of databases, including MSSQL, MySQL, PostgreSQL, Oracle, and more. It provides a user-friendly interface for managing and querying databases, making it a popular choice for developers and database administrators.
- MacOS: Install via Homebrew:
brew install --cask dbeaver-community- Official Website: Download DBeaver
- Fork this repository to your own GitHub account
- 📥 Clone your forked repository to your local machine:
git clone https://github.com/YOUR_USERNAME/springboot-learning-kit.git- Create a new branch:
git checkout -b your-feature-branch- Navigate to Tasks folder and kick off the work.
This project includes a Bruno Collection that contains all the APIs for easy testing and exploration.
- The collection is designed to work with the APIs exposed by this project.
- It includes endpoints for health checks and other application functionalities.
- Download and install the Bruno API Client.
- Import the provided Bruno collection from Docs Directory into the client.
- Use the pre-configured endpoints to test the APIs.
- Health Check: http://localhost:8080/OrderService/management/healthcheck
Response:ActiveMQ: OK RabbitMQ: OK Database: OK
Make sure the application and required services are running before testing the APIs.
Contributions to this project are welcomed! If you have ideas, improvements, or bug fixes, please do raise an issue or submit a pull request.
This project is licensed under the CC BY-NC 4.0 License.
You may use, modify, and share it non-commercially with attribution.