The E-Commerce MicroService Application is a distributed system designed for scalable and robust online commerce. It adheres to Domain-Driven Design (DDD) principles, ensuring modularity and maintainability.
This application leverages cutting-edge technologies to handle complex workflows, ensuring high availability and fault tolerance.
The architecture employs microservices that communicate asynchronously using Kafka and synchronously using OpenFeign and RestTemplate. Each service is designed to handle a specific domain, adhering to the principles of Domain-Driven Design.
- Distributed Microservice Architecture: Ensures scalability and modularity.
- Event-Driven Communication: Kafka and Zookeeper provide reliable messaging.
- Centralized Configuration: Managed via Spring Cloud Config Server.
- Service Discovery: Enabled by Spring Cloud Discovery Server.
- Authentication and Authorization: Secured with Keycloak.
- Tracing and Monitoring: Powered by Zipkin for distributed tracing.
- Spring Boot
- Spring Cloud:
- OpenFeign
- RestTemplate
- Discovery Server
- Config Server
- Apache Kafka
- Zookeeper
- Keycloak
- Zipkin
- Domain-Driven Design (DDD)
- User Service: Manages user registration, authentication, and roles.
- Product Service: Handles product creation, updates, and inventory management.
- Order Service: Processes orders and manages transactions.
- Notification Service: Sends emails or messages for order updates.
- Payment Service: Manages payment processing and reconciliation.
- Java 17 or higher
- Docker & Docker Compose
- Maven
- Keycloak configured with the appropriate realms and roles
- Clone the repository:
git clone https://github.com/Aligorithm-97/ms-e-commerce.git