KPRAPHULL / flipcart-e-commerce-mern-docker-kubernetes

Created using Tailwind CSS, Material UI, Reactjs, Nodejs, Docker and Kubernetes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flipcart E-commerce website Clone

It is Flipcart E-commerce website clone build with Reactjs, Tailwind CSS, Material ui and Nodejs.

Deploy using Docker and Kubernetes on AWS EC2.

Feature

  • Login/Signup User Account
  • Update Profile/Password User Account
  • Reset Password
  • Cart Add/Remove/Update Items
  • Save For Later
  • Wishlist Add/Remove Items
  • Products Pagination (Default 10 Products Per Page)
  • Product Search
  • Product Filters Based on Category/Ratings/Price Range
  • Order Details of All Ordered Item
  • Confirmation after order placed
  • Admin access

Language & Tool used

html5 css3 tailwindcss javascript react redux redux
nodejs express mongodb sass
git nginx docker kubernetes aws

Image Management

Cloudinary

Payment GateWay

paytm

Environment Variables

To run this project, you will need to add the following environment variables to your following file

ENV Variables section File
AWS EBS Volume ID server-app-config.yml
Paytm Credentials server-app-secret.yml
JWT secret and expiry server-app-secret.yml
Cloudinary Credentials server-app-secret.yml
MongoDB server-db-secret.yml
SERVER_URL Dockerfile in frontend directory

AWS EBS Volume ID

AWS_EBS_VOLUME_ID

Paytm Credentials

PAYTM_MID PAYTM_MERCHANT_KEY PAYTM_WEBSITE PAYTM_CHANNEL_ID PAYTM_INDUSTRY_TYPE PAYTM_CUST_ID

JWT secret and expiry

JWT_SECRET JWT_EXPIRE

Cloudinary Credentials

CLOUDINARY_NAME CLOUDINARY_API_KEY CLOUDINARY_API_SECRET

MongoDB

MONGO_INITDB_ROOT_USERNAME MONGO_INITDB_ROOT_PASSWORD

Client side

SERVER_URL= #Add your server url after backend image build

Installation

⚠️Note :   Setup git, docker, minikube, kubernetes on AWS EC2, view my install.txt first to start with this project.

Clone repository

  git clone https://github.com/KPRAPHULL/flipcart-e-commerce-mern-docker-kubernetes.git

Go to your project directory

  cd "flipcart-e-commerce-mern-docker-kubernetes"

⚠️Note :-  First set environment variable, see above "Environment Variables" section

Go to server directory

  cd ../server

Now setup database

  kubectl apply -f server-db-persist-volume.yml
  kubectl apply -f server-db-persist-volume-claim.yml
  kubectl apply -f server-db-secret.yml
  kubectl apply -f server-db-deploy.yml
  kubectl apply -f server-db-service.yml

Build Image for backend

  docker build -t flipcart-server-app-image .

Now setup backend server

  kubectl apply -f server-app-secret.yml
  kubectl apply -f server-app-config.yml
  kubectl apply -f server-app-deploy.yml
  kubectl apply -f server-app-service.yml

Copy image of Cluster-ip with port of backend

  kubectl get service/flipcart-server-app

ex: 10.10.12.14:5000

Go to cliend directory

  cd ../client

Build image for frontend

Now setup frontend

  docker build -t flipcart-client-app-image .
  kubectl apply -f client-app-deploy.yml
  kubectl apply -f client-app-service.yml

Now copy aws ec2 IPv4 address and paste port ex: 3.13.11.65:32013

Screenshots

App Screenshot1

App Screenshot2

App Screenshot3

🚀 About Me

I'm a PRAPHULL KUMAR.

Skilled in full stack web development(React Js, Next Js , Node Js), Java, DSA, Docker, Kubernetes

🔗 Connect with me

linkedin

About

Created using Tailwind CSS, Material UI, Reactjs, Nodejs, Docker and Kubernetes.


Languages

Language:JavaScript 99.4%Language:CSS 0.3%Language:HTML 0.2%Language:Dockerfile 0.1%