Skip to content

kumarcodes/microservice-ecom-application

Repository files navigation

🚀 Microservice E-Commerce Application

📌 Overview

A Spring Boot Microservices-based E-Commerce Application demonstrating modern backend architecture using scalable, resilient, and event-driven design principles.

This project showcases how multiple services interact using both:

  • 🔗 Synchronous communication (REST)
  • Asynchronous communication (Kafka / RabbitMQ)

🧩 Architecture Diagram

Architecture Diagram

---

🏗️ System Architecture

  • API Gateway → Entry point for all requests
  • Auth Server → Handles authentication (JWT/OAuth2)
  • Product Service → Manages product catalog (MongoDB)
  • Order Service → Handles order processing (MySQL)
  • Inventory Service → Manages stock (MySQL)
  • Notification Service → Sends async notifications

⚙️ Tech Stack

🧠 Backend

  • Java 8+
  • Spring Boot
  • Spring Cloud

🔗 Communication

  • REST APIs (Sync)
  • Kafka / RabbitMQ (Async)

🗄️ Databases

  • MongoDB
  • MySQL

🔐 Security

  • JWT / OAuth2

⚡ Resilience

  • Resilience4J

📦 DevOps

  • Docker
  • GitHub

📊 Monitoring

  • Zipkin
  • ELK Stack (Elasticsearch, Logstash, Kibana)

🔄 Workflow (Order Flow)

  1. User → API Gateway
  2. Gateway → Order Service
  3. Order Service:
    • Calls Inventory Service (Sync)
    • Publishes Event (Async)
  4. Notification Service consumes event
  5. User receives confirmation

🛡️ Features

  • ✅ Microservices Architecture
  • ✅ Event-driven system
  • ✅ Circuit Breaker (Resilience4J)
  • ✅ Centralized Logging & Tracing
  • ✅ Secure Authentication
  • ✅ Independent Service Scaling

🧭 Service Discovery & Config

  • Eureka Server → Service registry
  • Config Server → Centralized configs
  • Vault → Secret management

🐳 Run Locally

🔧 Prerequisites

  • Java 8+
  • Maven
  • Docker

▶️ Steps

# Clone repo
git clone https://github.com/kumarcodes/microservice-ecom-application.git

# Navigate
cd microservice-ecom-application

# Build project
mvn clean install

# Run services
docker-compose up

About

Microservices-based e-commerce system built with Spring Boot, featuring REST & event-driven communication, security, and observability.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages