Skip to content

SmartCart is a scalable, cloud-native e-commerce backend system designed using modern microservices architecture. It leverages key technologies like Spring Boot, Kafka, Docker, Kubernetes, Resilience4J, and observability tools (Prometheus, Grafana, OpenTelemetry)

Notifications You must be signed in to change notification settings

Chanuth-silva10/microservices-springboot-kafka-grafana

Repository files navigation

Microservices-Based Backend for simple E-Commerce Platforms with deep tech stack

SmartCart is a scalable, cloud-native e-commerce backend system designed using modern microservices architecture. It leverages key technologies like Spring Boot, Kafka, Docker, Kubernetes, Resilience4J, and observability tools (Prometheus, Grafana, OpenTelemetry) to ensure high resilience, fault tolerance, and efficient communication between services. The project focuses on backend engineering, integrating MongoDB and MySQL for data storage, and emphasizes self-study to explore technologies beyond typical industry projects

Services Overview

  • Product Service
  • Order Service
  • Inventory Service
  • Notification Service
  • API Gateway using Spring Cloud Gateway MVC
  • Shop Frontend using Angular 18

Tech Stack

The technologies used in this project are:

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

Application Architecture

image

Grafana Dashoard

Grafana Dashboard for each service

Add Product UI

Add Product UI

Place Order UI

Place Order UI

API Gateway Service with Prometheus

api gateway service with promethues

API Gateway with Loki

api gateway with loki

Check Email

Check Email

Kafka Consumer

Kafka Consumer

Kafka Sending message

Kafka Sending message

Kafka Topic

Kafka Topic

Microservice Docker Containers

Microservice Docker Containers

How to run the frontend application

Make sure you have the following installed on your machine:

  • Node.js
  • NPM
  • Angular CLI

Run the following commands to start the frontend application

cd frontend
npm install
npm run start

How to build the backend services

Run the following command to build and package the backend services into a each docker container

docker compose up -d

About

SmartCart is a scalable, cloud-native e-commerce backend system designed using modern microservices architecture. It leverages key technologies like Spring Boot, Kafka, Docker, Kubernetes, Resilience4J, and observability tools (Prometheus, Grafana, OpenTelemetry)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published