Requirements


Functional Requirements:


  • Users can see available shows.
  • Users can view a seating map to pick seats.



Non-Functional Requirements:


  • Performance
  • Scalability
  • Security
  • Usability
  • Maintainability


For getting list of different theaters' availability

For getting available seats in the theater—consistency




API Design

GET /getShows/movieId


GET /getSeats/seatLists



High-Level Design




Detailed Component Design

Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.