GitTix is microservices ticketing booking app based on event driven architecture that allows users to create one time tickets and sales them. This README provides the information on how this app works and how to run them in your development envionments.
GitTix is built using the following technologies:
This project has been built using a diverse tech stack, as mentioned above. Each component in the stack plays distinct roles to ensure seamless collaboration among services. Communication between services is facilitated by the NATS Stream Server decentralizing the communication infrastructure. Skaffold is being employed to automate development environment and handling tedius tasks.
- Authentication: Handling all user login and signup functionalitities.
- Client: This is for handling front-end functionalities.
- Tickets: This service perform different Crud operation on tickets.
- Orders: All functionalities related on ordering tickets and managing order status such as
pending
,cancelled
andcompleted
are being watched by this services. - Payments: This service is taking care all payments process such as cancel the payment and update other services in case payment is processed successfuly.
- Expiration: Every time user is going to buy ticket it being locked for 60 seconds by this service and after time is over the tickets will be unlocked.
Note: Additional are still being added.
- Node.js
- Npm
- Docker
- Kubernetes
- Skaffold
-
Clone the repository:
git clone
https://github.com/leandreAlly/ticketing-app-microservice.git -
Navigate to the project directory:
cd ticketing
-
Install dependencies: navigate in each service
cd serviceName
and runnpm install
-
Configure the accessing Url my changing
nginx host
-
Start the development server: run
skaffold dev
in terminal and make sure you're in root directory
- Implement notifications on client side using
pusherJs