It is Flipcart E-commerce website clone build with Reactjs, Tailwind CSS, Material ui and Nodejs.
Deploy using Docker and Kubernetes on AWS EC2.
- 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
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
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"
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
I'm a PRAPHULL KUMAR.
Skilled in full stack web development(React Js, Next Js , Node Js), Java, DSA, Docker, Kubernetes