This is an Airline managemnet and flight booking system based on microservices architecture. It has 4 microservices:
- Flight Service
- Booking Service
- Authentication Service
- Notification Service
Non functional Requirements
- We can expect more flight searching than bookings
- The system needs to be reliable in terms of booking
- Expect that we will be having 100k total users.
- 100k bookings might come up in quarter
- In one day you might be getting 100 bookings
- System should make sure that we don?t change the prices where the booking payment is going on.
- System should be able to auto scale itself atleast for 3x more traffic.
- Flight Service : CRUD operations on all flight db models
- Booking Service : Book or cancel a booking
- Notification Service : Send email notifications to users on booking, cancellation. Run CRON jobs to check for upcoming flights and send notifications.
- Authentication Service : Signin, Signup, Reverse proxy for Flight Search and Booking Service
- NodeJS
- ExpressJS
- MySQL
- Sequelize
- RabbitMQ
- NodeMailer
- JWT