A modern e-commerce application built using Spring Boot microservices architecture.
The application consists of the following microservices:
- Config Server - Centralized configuration management
- Discovery Service - Service registry and discovery using Netflix Eureka
- Customer Service - Manages customer data and operations
- Product Service - Handles product catalog and inventory
- Java 21
- Spring Boot 3.5.0
- Spring Cloud 2025.0.0
- MySQL Database
- Flyway Migration
- Maven
- Lombok
- JPA/Hibernate
- Spring Validation
- JDK 21
- Maven 3.9+
- MySQL 8.0+
- Git
- Clone the repository:
git clone https://github.com/Joshuapavan/RealWorldMicroserviceProject.git
cd EcommerceMicroservice
- Start the services in the following order:
# 1. Config Server
cd services/config-server
./mvnw spring-boot:run
# 2. Discovery Service
cd ../discovery
./mvnw spring-boot:run
# 3. Customer Service
cd ../customer
./mvnw spring-boot:run
# 4. Product Service
cd ../product
./mvnw spring-boot:run
POST /api/v1/customer
- Create a new customerPUT /api/v1/customer/{id}
- Update customer detailsGET /api/v1/customer/{id}
- Get customer by IDGET /api/v1/customer
- Get all customersDELETE /api/v1/customer/{id}
- Delete customer by ID
EcommerceMicroservice/
├── services/
│ ├── config-server/ # Centralized configuration
│ ├── discovery/ # Service discovery (Eureka)
│ ├── customer/ # Customer management
│ └── product/ # Product management
└── README.md
- Microservices Architecture
- Service Discovery
- Centralized Configuration
- Database per Service
- RESTful APIs
- Data Validation
- Database Migration
- Cloud-Native Design
./mvnw clean install
./mvnw test
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This Project is under MIT License
- Joshua Pavan