Skip to content

Spring Boot Microservices Project πŸš€ | A fully functional microservices-based application using Spring Boot, Angular, Kafka, Keycloak, and Grafana Stack. Includes authentication, event-driven architecture, and monitoring.

Notifications You must be signed in to change notification settings

Bharath-S-J/SpringBootMicroservices

Repository files navigation

Spring Boot Microservices

This repository contains the latest source code for a Spring Boot Microservices project.

Project Overview

This project implements a microservices architecture with the following services:

  • Product Service (8080)
  • Order Service (8081)
  • Inventory Service (8082)
  • Notification Service (8083)
  • API Gateway (9000)
  • Shop Frontend (Angular 18) (4200)

Tech Stack

The technologies used in this project:

  • Spring Boot
  • Angular
  • MongoDB
  • MySQL
  • Kafka
  • Keycloak
  • Grafana Stack (Prometheus, Grafana, Loki, and Tempo)
  • API Gateway (Spring Cloud Gateway MVC)

How to Run the Frontend Application

Prerequisites

Ensure you have the following installed on your machine:

Run the Frontend

cd frontend
npm install
npm run start

πŸ“Œ Frontend URL: http://localhost:4200/


How to Run the Backend Services

Prerequisites

Ensure you have the following installed on your machine:

Build and Run Services

Step 1: Build the Backend Services

Run the following command to build and package the backend services:

mvn clean package

Step 2: Start the Backend Services

You can start each service individually using IntelliJ IDEA:

  1. Open the project in IntelliJ IDEA.
  2. Locate each microservice inside the services/ folder.
  3. Run each service one by one using the IntelliJ Run button.

Accessing the Services

API Gateway

πŸ“Œ URL: http://localhost:9000/

Microservices

Service Port URL
Product 8080 http://localhost:8080/
Order 8081 http://localhost:8081/
Inventory 8082 http://localhost:8082/
Notification 8083 http://localhost:8083/

Keycloak Admin Console

πŸ“Œ URL: http://localhost:8181/

  • Username: admin
  • Password: admin

Grafana Dashboards

πŸ“Œ URL: http://localhost:3000/

  • Username: admin
  • Password: admin

Project Insights

This project helped me understand:
βœ… Microservices Architecture
βœ… Spring Boot Service Communication
βœ… Event-Driven Architecture (Kafka)
βœ… Authentication & Authorization (Keycloak)
βœ… Monitoring & Logging (Grafana, Prometheus, Loki)


About

Spring Boot Microservices Project πŸš€ | A fully functional microservices-based application using Spring Boot, Angular, Kafka, Keycloak, and Grafana Stack. Includes authentication, event-driven architecture, and monitoring.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published