Skip to content

Transformed a monolithic e-commerce platform to a microservices architecture with four services in Docker containers managed by Kubernetes, improving scalability and maintainability.

Notifications You must be signed in to change notification settings

ArnabKarmakar1108/CC_Monolithic_to_Micro_Services

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CC_Monolithic_to_Micro_Services

Overview

This repository showcases the transformation of an e-commerce platform from a monolithic architecture to a microservices-based architecture using the MERN stack. The application was initially built as a single, unified codebase and has now been divided into four distinct, scalable microservices, each encapsulated in Docker and orchestrated using Kubernetes. This enhances scalability, maintainability, and deployment flexibility.

Architecture

Microservices Description

  • Frontend Service: Manages the user interface and interaction.
  • User Service (UC1): Handles user authentication and profile management.
  • Product Service (UC2): Manages product inventory, descriptions, and details.
  • Order Service (UC3): Processes and tracks orders.

Technologies Used

  • CI/CD: For continuous integration and continuous deployment, enhancing the software delivery process.
  • MongoDB: Database for storing all application data.
  • Express.js: Backend framework used within Node.js.
  • React.js: Library for building the user interface.
  • Node.js: JavaScript runtime for executing the backend in JavaScript.
  • Docker: For containerizing each microservice.
  • Kubernetes: For automating deployment, scaling, and operations of application containers.

Getting Started

Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites required

  • Docker
  • Kubernetes (e.g., Minikube, Docker Desktop)
  • Node.js and npm

Installation

# Clone the repository
git clone https://github.com/ArunAK111/CC_Monolithic_to_Micro_Services.git
cd CC_Monolithic_to_Micro_Services

# Build Docker Images
cd frontend
docker build -t yourdockerhubusername/frontend:latest .
cd ../uc1
docker build -t yourdockerhubusername/uc1:latest .
cd ../uc2
docker build -t yourdockerhubusername/uc2:latest .
cd ../uc3
docker build -t yourdockerhubusername/uc3:latest .

# Deploy with Kubernetes
kubectl apply -f kubernetes.yaml

# Access the Application
kubectl get svc
# Note the external IP and port to access the frontend service

Contributors

About

Transformed a monolithic e-commerce platform to a microservices architecture with four services in Docker containers managed by Kubernetes, improving scalability and maintainability.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 93.0%
  • HTML 4.7%
  • Dockerfile 2.1%
  • CSS 0.2%