Skip to content

omkarharade/AirlineTicketBooking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Airline Ticket Booking Backend System

Objective

  • We need to build a backend feature for an airline company. our end-user is going to be someone who wants to book flights and query about flights, so we need a robust system to actually help them give the best experience possible.

  • This Doc is going to solely focus on Backend Part. We want to prepare the whole backend keeping in the fact in mind that code-base should be easily maintainable as much as possible.

Requirements

  • A user should be able to search for flights from one place to another.
    • User should be able to mention the src and dest details.
    • User should be able to select the date of journey. {V2 -> multicity and round trip implementation}
    • User should be able to select the class of the flights. (Non-mandatory, have some default value)
    • User should be able to select the number of seats. (Non-mandatory, have some default value)
    • List down the flights based on the above data.
    • The best available flights should be shown based on price and least journey time.
    • Need to support pagination so that we can list chunk of flights at one point of time.
    • Filter of flights should be supported based on Price, Departure Time, Arrival time, Journey time, etc. {V2 -> some more filters}
  • A user should be able to book a flight considering that user is reisterred on the platform.
    • Excess luggage addition feature should be supported.
  • Tracking of the flight prices should be possible; user should be notified for any price drops or any delays. {V2 -> some more notification service}
  • For booking, the user has to make a payment. (dummy)
  • User should be able to list their previous and upcoming flights.
  • User should be able to download their boarding pass if they have done Web Check-in.
  • Web Check-in should be supported.
    • {V2 -> Seat Selection feature}
  • Notification via email for Web check-in.
  • Reqview system for users iff they have booked the flight.
    • Star based review system
    • Listing of flights should involve review display.
  • User should be able to authenticate to our system using email and password.
  • Cancellation of a flight should be supported and cancellation returns (dummy).
  • While making a booking, a persone can reserve more than one seat with one login id.

Non-Functional Requirements

  • We can expect that we are going to have more number of flight searches than flight bookings.
  • The system needs to be accurate in terms of booking.(No Over booking)
  • Expect that we will be having approx 1,00,000 total users, 5,00,000 bookings might happen in one quarter.
  • So in one day we can expect 10,000 bookings.
  • System should be capable of scaling up to atleast 3x the current estimated traffic.
  • The system should handle realtime updates to flight prices, before user makes the final booking.
  • Concurrency should be handled, using RDBMS should be the good solution.

Capacity Estimations

  • Storage Estimations:
    • For upcoming 5 years, 80,00,000 bookings, 2,00,000 users.
    • Considering all the users records and booking records take 10 MB of data, then overall 10 TB of memory should be fine for out initial pilot run.
  • Traffic estimates: If we consider 30:1 as the search:booking ratio, then max we can expect 1,50,000 search queries a day. (2 queries/sec)

Authentication Service

URL: https://github.com/omkarharade/Authentication-Service-AirlineTicketBooking.git

Flights Service

URL: https://github.com/omkarharade/FlightsAndSearchService-AirlineTicketBooking.git

Booking Service

URL: https://github.com/omkarharade/BookingService-AirlineTicketBooking.git

Email Service

URL: https://github.com/omkarharade/ReminderService-AirlineTicketBooking.git

API Gateway Service

URL: https://github.com/omkarharade/APIGateway-AirlineTicketBooking.git

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published