Skip to content

SuhravHussen/tiecketing-microservice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ticketing-Microservice 🚀

Welcome to ticketing Microservice! This web application is a fantastic tool designed to Sell and buy tickets of future events.

Technologies Used 💻

Ticketing-Microservice is built using the following technologies:

  • Frontend: NextJs , Tailwindcss
  • Backend: ExpressJs, Typescript, NATS Streaming Service (for messaging between services) ,
  • Database: MongoDB
  • environment : Docker, Kubernetes (for container orchestration)

Images 📸

HOME PAGE

Home page of ticketing.dev

SIGNUP SCREEN

SIGNUP page of ticketing.dev

TICKET SELLING PAGE

Ticket selling page of ticketing.dev

TICKET BUYING AND PAYMENTS

Checkout page of ticketing.dev Payment page of ticketing.dev

CURRENT STATUS OF Own tickets

my tickets page of ticketing.dev

CURRENT STATUS OF Orders

my orders page of ticketing.dev

DATA FLOW BETWEEN ALL SERVICES ➡️ 📥 ➡️

SignIn/SignUp Flow auth-client service

Ticket creation flow tickets service

Order creation flow orders service

Payment creation flow payment service

Video 📽️

Click to Watch Video

⚠️ Caution

Cant deploy this Kubernetes app due to a money issue. If you want to test this app, follow the steps below:

Installation 🛠️

must need docker dekstop installed to run it in your machine

To run Ticketing app locally on your computer, follow these steps:

  1. Clone the repository:

https://github.com/SuhravHussen/tiecketing-microservice.git

  1. Edit your host file , so that localhost can be directed to ticketing.dev.

    Windows

    open terminal.

notepad C:\Windows\System32\drivers\etc\hosts

add 127.0.0.1 ticketing.dev this line in that file and save it.

refresh dns ipconfig /flushdns

Mac

open terminal and write sudo nano /etc/hosts add this line 127.0.0.1 ticketing.dev

save it and refresh dns sudo dscacheutil -flushcache

  1. Install skaffold Cli

visit this site to install

https://skaffold.dev/docs/install/

  1. Go to ticketing-microservice folder
  2. Create Secrets

open command

kubectl create secret generic my-secret --from-literal=JWT_SECRET=JWT_SECRET_VALUE

Get your stripe secret and publish key from stripe account developer option

kubectl create secret generic stripe-secret --from-literal=STRIPE_SECRET_KEY=STRIPE_SECRET_VALUE

add STRIPE_PUBLISHABLE_KEY=STRIPE_PUBLISH_VALUE in client's env file. if no env file is availavle create one

Replce JWT_SECRET_VALUE , STRIPE_SECRET_VALUE , STRIPE_PUBLISH_VALUE with your own values
  1. Install Ingress-nginx controller

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml

  1. Start The App

Now just write skaffold dev in command from root directory and visit ticketing.dev. If it shows unsafe website just write thisisunsafe in keyboard.