This project aims to develop an e-commerce microservices application that can be deployed on the cloud using Docker, Kubernetes, Jenkins, and Git. This would be done by transforming a Monolithic E-commerce application into a microservices based application.
The application consists of several microservices deployed as Docker containers on a Kubernetes cluster. Jenkins is used for continuous integration and deployment, while Git is used for version control.
The application includes the following microservices:
- User Management: Handles user registration, authentication, and authorization.
- Product Management: Handles product management, including adding, editing, and deleting products.
- Order Management: Handles order management, including viewing order history, tracking orders, and managing orders.
- Review Management (optional): Handles product review management, allowing users to view and add reviews.
- Next.js: For the Monolithic Application
- Docker: For containerization of microservices.
- Kubernetes: For orchestration and deployment of containers.
- Jenkins: For continuous integration and deployment.
- Git: For version control and code management.
To get started with the project, follow these steps:
-
Build a Monolithic Web Application
-
Clone the repository:
git clone https://github.com/KushShriv/Monolithic-to-Microservices-CC.git
- Build and run the Docker images for each microservice:
cd e-commerce-microservices/user-service
docker build -t user-service .
docker run -p 8080:8080 user-service
Repeat this process for each microservice.
-
Set up Kubernetes and deploy the microservices using the provided manifests.
-
Configure Jenkins and set up the CI/CD pipeline for automated builds and deployments.