Karkaushal is an e-commerce website for the people who sells handicraft product built with microservices architecture, developing on docker-desktop and Deployed on the Google Cloud Platform (Google Kuberenetes Engine) environment, integrated some CI/CD process with GitHub Action workflow.
www.karkaushal.in ( *** FREE CREDITS OF GCP ARE OVER. RIP...........****)
- Clone master branch on your computer
 - Install node.js, skaffold, docker
 - enable Kubernetes in docker desktop preferences
 - sign up for a free account with $300 on the GCP and sign up for the docker hub account
 - create an image by running a command in every folder that has a Dockerfile
 
docker build -t <YOUR_ACCOUNT_NAME>/<YOUR_IMAGE_NAME> .- 
push all images to the docker hub by running a command in every folder that has a Dockerfile
 - 
install ingress-nginx and enable Kubernetes in Docker Desktop software
 - 
(Windows) open host file at C:\Windows\System32\drivers\etc\hosts then edit by adding 127.0.0.1 karkaushal.dev and save as an admin
 - 
create all kubernetes secrets
 - 
run
skaffold devin this project root directory, and make sure to use the correct context before running the command - 
open a web browser and enter your custom URL with https:// to see this project come to live!
 
kubectl create secret generic jwt-secret --from-literal=JWT_KEY=<YOUR SECRET>kubectl create secret generic stripe-secret --from-literal=STRIPE_KEY=<YOUR STRIPE SECRET KEY>- Fully operated microservices-architecture website with user, product, order, payment, and expiration services completely separated
 - Stored all user, product, order, and payment data in separate MongoDB collections
 - Account setting dashboard for a customer to update profile information or see all orders
 - Seller management dashboard with authority to add, edit, and delete a product
 - Full-featured shopping cart (add, edit, and remove an item with ease!)
 - Fully checkout process (login, add a shipping address, select payment method)
 - Mark orders as a delivered option for the seller
 - Make a product review and rating and calculate a new rating instantly
 - Implement an Optimistic concurrency control concept with Mongoose to handle concurrency issues with event flow
 - Created an expiration timer for payment completion during which the order gets reserved for a user
 - Implemented Monitoring endpoints to measure api performance and server performance.
 
- Browse to the signup page
 - Enter necessory details . (can be fictional as this is just a demo)
 
Pay with Stripe method (recommended)
- Using 4242 4242 4242 4242 for a card number
 - Using any date (must be a later date from now) for MM/YY
 - Using any number for CVC
 
- Signup as a seller
 - Go to product page
 - Create new product
 - Update product details
 
- Go to 
www.karkaushal.in/monitor/scrapto get the api monitoring information - Go to 
www.karkaushal.in/monitor/dashboardto access the grafana dashboard 
- NodeJS
 - Typescript
 - MongoDB
 - ExpressJS
 
- ReactJS
 - Redux
 - Javascript
 
- Docker
 - Kubernetes
 - Github Actions
 - GCP (GKE)
 
- Prometheus
 - Grafana
 









