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)
---
- 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
- Java 8+
- Spring Boot
- Spring Cloud
- REST APIs (Sync)
- Kafka / RabbitMQ (Async)
- MongoDB
- MySQL
- JWT / OAuth2
- Resilience4J
- Docker
- GitHub
- Zipkin
- ELK Stack (Elasticsearch, Logstash, Kibana)
- User → API Gateway
- Gateway → Order Service
- Order Service:
- Calls Inventory Service (Sync)
- Publishes Event (Async)
- Notification Service consumes event
- User receives confirmation
- ✅ Microservices Architecture
- ✅ Event-driven system
- ✅ Circuit Breaker (Resilience4J)
- ✅ Centralized Logging & Tracing
- ✅ Secure Authentication
- ✅ Independent Service Scaling
- Eureka Server → Service registry
- Config Server → Centralized configs
- Vault → Secret management
- Java 8+
- Maven
- Docker
# 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