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.