Ticketing is a microservices application that allows users to buy and sell tickets to events. It is built using Node.js, Express, NATS, React MongoDB and Redis.
Requirements:
- Nodejs (https://nodejs.org/en/download/)
- Docker (https://docs.docker.com/get-docker/)
- Kubectl (https://kubernetes.io/docs/tasks/tools/install-kubectl/)
- Minikube (https://kubernetes.io/docs/tasks/tools/install-minikube/)
- Ingress-nginx (https://kubernetes.github.io/ingress-nginx/deploy/#quick-start)
- Add secret for stripe
kubectl create secret generic stripe-secret --from-literal STRIPE_KEY=<youre_stripe_secret_key>
kubectl create secret generic stripe-pub-secret --from-literal NEXT_PUBLIC_STRIPE_KEY=<youre_stripe_public_key>
- Add secret for JWT
kubectl create secret generic jwt-secret --from-literal=JWT_KEY=<youre_jwt_secret_key>
- Skaffold (https://skaffold.dev/docs/install/)
- Increment
version
prop inpackage.json
incommon
module and commit changes. - Delete
/build/
folder incommon
module. - Run
$ tsc
incommon
module. - Run
$ npm publish
incommon
module.
- Clone this repo
- Update your hosts file with the following entry:
127.0.0.1 ticketing.dev
- Run
skaffold dev
in the root directory - Open your browser and navigate to http://ticketing.dev. If Ingress-nginx show warning you type
thisisunsafe
to continue.