Skip to content

Waleed2660/springboot-learning-kit

Repository files navigation

Spring Boot Learning Kit

Table of Contents


Introduction

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.

Tech Stack

  • 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.

Pre-requisites

IntelliJ IDEA

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.

Docker

Install Docker Desktop from Docker's official website.

DBeaver

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.

Download DBeaver Client:

  • MacOS: Install via Homebrew:
  brew install --cask dbeaver-community

Getting Started

  1. Fork this repository to your own GitHub account
  2. 📥 Clone your forked repository to your local machine:
  git clone https://github.com/YOUR_USERNAME/springboot-learning-kit.git
  1. Create a new branch:
   git checkout -b your-feature-branch
  1. Navigate to Tasks folder and kick off the work.

API Collection

This project includes a Bruno Collection that contains all the APIs for easy testing and exploration.

Accessing the Bruno Collection

  • The collection is designed to work with the APIs exposed by this project.
  • It includes endpoints for health checks and other application functionalities.

How to Use

  1. Download and install the Bruno API Client.
  2. Import the provided Bruno collection from Docs Directory into the client.
  3. Use the pre-configured endpoints to test the APIs.

Available Endpoints

Make sure the application and required services are running before testing the APIs.


Contributing

Contributions to this project are welcomed! If you have ideas, improvements, or bug fixes, please do raise an issue or submit a pull request.


License

This project is licensed under the CC BY-NC 4.0 License.
You may use, modify, and share it non-commercially with attribution.

About

A Spring Boot application designed for learning and experimentation with technologies like ActiveMQ, RabbitMQ and PostgreSQL, Prometheus & Grafana. This project demonstrates the integration of messaging and database services using Docker for local development.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors

Languages