Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 1.33 KB

README.md

File metadata and controls

49 lines (37 loc) · 1.33 KB

Ecommerce

A fullstack eCommerce website built with MySQL/PostgresQL, Express, React, and Redux. Integrated Stripe payment gateway. Uses Docker to containerize services and Kubernetes to manage containers.

Entity Relationship Diagram (ERD)

erd

Prerequisites

  • Docker
  • Kubernetes (Minikube)
  • Skaffold
  • Stripe account

Run Locally

  1. Start minikube
$ minikube start
  1. Inject environment variables into Kubernetes
$ kubectl create secret generic jwt-secret-key --from-literal JWT_SECRET_KEY=YOUR_JWT_SECRET
$ kubectl create secret generic stripe-secret-key --from-literal STRIPE_SECRET_KEY=YOUR_STRIPE_SECRET_KEY
$ kubectl create secret generic mysql-password --from-literal MYSQL_ROOT_PASSWORD=YOUR_DB_PASSWORD
  1. Enable NGINX ingress controller (Go to the official doc to find instructions that suit your platform)
$ minikube addons enable ingress
  1. Edit /etc/hosts file, paste in minikube ip (by running minikube ip in terminal)
[your_minikube_ip] ecommerce-fullstack.dev
  1. Run skaffold
$ skaffold dev
  1. Now you should see the app running at ecommerce-fullstack.dev

A star would be nice if you like it!