https://github.com/alpha951/flyright-microservices-flight-booking
https://github.com/alpha951/flyright-microservices-flight-booking
flight flight-booking-system jwt microservices mvc mysql nodejs rabbitmq sequelize sequelize-cli
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/alpha951/flyright-microservices-flight-booking
- Owner: alpha951
- Created: 2023-07-26T16:28:32.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-08T14:42:58.000Z (almost 2 years ago)
- Last Synced: 2024-06-08T21:28:45.014Z (almost 2 years ago)
- Topics: flight, flight-booking-system, jwt, microservices, mvc, mysql, nodejs, rabbitmq, sequelize, sequelize-cli
- Language: JavaScript
- Homepage: https://documenter.getpostman.com/view/27853841/2sA3XJmkR8
- Size: 2.69 MB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Flight Booking System
## Live
The deployed application can be fetched at [flights.keshavcarpenter.tech]( https://flights.keshavcarpenter.tech/api/v1/info).
Please refer to the Postman Docs to understand the APIs and try out [Postman Collection](https://documenter.getpostman.com/view/27853841/2sA3XJmkR8)
## Description
This is an Airline managemnet and flight booking system based on microservices architecture. It has 4 microservices:
1. Flight Service
2. Booking Service
3. Authentication Service
4. Notification Service
## Non Functional Requirements
Non functional Requirements
1. We can expect more flight searching than bookings
2. The system needs to be reliable in terms of booking
3. Expect that we will be having 100k total users.
4. 100k bookings might come up in quarter
5. In one day you might be getting 100 bookings
6. System should make sure that we don?t change the prices where the
booking payment is going on.
7. System should be able to auto scale itself atleast for 3x more traffic.
## Design

## ER Diagram
### For Flights DB

### For Notification DB

## Functionalities
1. Flight Service : CRUD operations on all flight db models
2. Booking Service : Book or cancel a booking
3. Notification Service : Send email notifications to users on booking, cancellation. Run CRON jobs to check for upcoming flights and send notifications.
4. Authentication Service : Signin, Signup, Reverse proxy for Flight Search and Booking Service
## Tech Stack
1. NodeJS
2. ExpressJS
3. MySQL
4. Sequelize
5. RabbitMQ
6. NodeMailer
7. JWT