Microservices Ticketing Application to sell and buy tickets
The list of the main techs used in this project.
- Node.js
- Typescript
- Express
- NATS Streaming Server
- Mongo
- Mongoose
- Redis
- JWT - Json Web Tokens
- Stripe for Payments
- Ingress Nginx
- Docker
- Kubernetes
To install and start the ticketing app follow the steps below:
- Docker Desktop
- Enable Kubernetes in the Docker Desktop
- Install Ingress Nginx
- Install Skaffold Optional
- Create a Stripe Account Optional
- Add tickets.com to your hosts file pointing to 127.0.0.1 (Mac /etc/hosts and Win c:\windows\system32\drivers\etc\hosts)
Clone the Repository:
git clone https://github.com/abnersouza/ticketing.git
Open the cloned repository na navigate to the root folder
cd ./ticketing/
# Create the required secrets
> kubectl create secret generic jwt-secret --from-literal=JWT_KEY=123456
# If you have Stripe Account
> kubectl create secret generic stripe-secret --from-literal STRIPE_KEY=<REPLACE_HERE_YOUR_PRIVATE_STRIPE_KEY>
# If you don't have a Stripe Account
> kubectl create secret generic stripe-secret --from-literal STRIPE_KEY=123456
# If Skaffold is installed
> skaffold dev
# If Skaffold is not installed
> kubectl apply -f infra/k8s-dev
> kubectl apply -f infra/k8s
http://tickets.com
- Style the frontend
- Implement email service
This project is under MIT License
To Stephen Grider for the amazing Microservices Course
Made with ❤️ by Abner Souza