Skip to content

sukrit07/bookmyshow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BookMyShow

BMS is a movie ticket booking system provides its customers the ability to purchase theatre seats online. E-ticketing systems allow the customers to browse through movies currently being played and to book seats, anywhere and anytime. The following was discovered as part of building this project:

Requirement:

  1. User able to register with the following info: Name, DOB, Phone, Email
  2. User could book movie ticket in the order. Our ticket booking service should be able to list down different cities where its affiliate cinemas are located. Once the user selects the city, the service should display the movies released in that particular city. Once the user selects the movie, the service should display the cinemas running that movie and its available shows. The user should be able to select the show at a particular cinema and book their tickets. The service should be able to show the user the seating arrangement of the cinema hall and the user should be able to select multiple seats according to their preference. The user should be able to distinguish available seats from the booked ones. Users should be able to put a hold on the seats for five minutes before they make a payment to finalize the booking. The user should be able to wait if there is a chance that seats might become available – e.g. when holds by other users expire. Waiting customers should be serviced fairly in a first come first serve manner.
  3. Design Consideration: For simplicity, let’sassume our service doesn’t require user authentication. The system will not handle partial ticket orders. Either user gets all the tickets they want, or they get nothing. Fairness is mandatory for the system. To stop system abuse, we can restrict users not to book more than ten seats. We can assume that traffic would spike on popular/much-awaited movie releases, and the seats fill up pretty fast. The system should be scalable, highly available to cope up with the surge in traffic.

Schema Design

USER:

  • NAME
  • EMAIL
  • DOB
  • PHONE

CITY:

  • NAME
  • STATE
  • LIST of THEATER

THEATER

  • NAME
  • ADDRESS
  • LIST of AUDITORIUM

AUDITORIUM:

  • NAME
  • LIST of SEATS
  • LIST of SHOW
  • LIST of FEATURES

SEAT:

  • NAME
  • SEATTYPE
  • SEATSTATUS
  • ROW
  • COLUMN

SHOW:

  • MOVIE
  • START TIME
  • END TIME
  • LIST of FEATURES

MOVIE:

  • NAME
  • DURATION
  • ACTORS
  • GENRE
  • LIST of FEATURE

ACTOR:

  • NAME

TICKET:

  • BOOKINGID
  • LIST of PAYMENT
  • SHOW
  • USER
  • AMOUNT
  • LIST of SHOWSEAT

PAYMENT:

  • PAYMENT METHOD
  • AMOUNT
  • PAYMENTSTATUS
  • REFERENCEID
  • TICKET

ENUMS:

  • SEATTYPE : VIP, GOLD, PLATINUM
  • SEATSTATUS ENUM : EMPTY, BOOKED, HOLD
  • FEATURES ENUM: 2D, IMAX
  • GENRE ENUM : ROMANCE
  • PAYMENT METHOD: DEBIT, CREDIT, UPI
  • PAYMENTSTATUS : SUCC, FAIL

Reference Documentation

For further reference, please consider the following sections:

Guides

The following guides illustrate how to use some features concretely:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages