How prashanth-banoth/cinemate-ai works
CineMate is a movie discovery and simulated ticket-booking app. Users can search for movies or request mood-based recommendations, then chat with an assistant to assemble booking details, choose seats, and confirm a simulated booking. The frontend is a single client page backed by a Python API; booking state and seat records are distinct backend responsibilities. The excerpts show frontend calls for movie search and seat availability, but omit several backend call sites and other frontend requests, so those relationships are left unverified rather than presented as confirmed.
Main entry points: page.tsx CineMate interface · main.py Booking confirmation
Components 13
Movie discovery
- CineMate interface
frontend/src/app/page.tsx - Movie search
backend/main.py - Recommendations
backend/main.py
Booking workflow
- Booking assistant
backend/main.py - Showtime validation
backend/main.py - Seat availability
backend/main.py - Booking confirmation
backend/main.py
Backend services
- Booking sessions
backend/main.py
Booking persistence
- Booked seats
backend/main.py - Simulated bookings
backend/main.py
Other components
- Moviegoer
- OMDb
- PostgreSQL
Connections 15
- Moviegoer → CineMate interface: uses
- CineMate interface → Movie search: requests search
frontend/src/app/page.tsx - CineMate interface → Seat availability: requests seats
frontend/src/app/page.tsx - CineMate interface → Recommendations: requests recommendations
- CineMate interface → Booking assistant: submits booking
- CineMate interface → Booking confirmation: confirms booking
- Movie search → OMDb: queries catalog
- Recommendations → OMDb: looks up titles
- Booking assistant → Booking sessions: updates session
backend/main.py - Booking confirmation → Showtime validation: validates showtime
backend/main.py - Booking confirmation → Booked seats: reserves seats
backend/main.py - Seat availability → Booked seats: reads bookings
backend/main.py - Booking confirmation → Simulated bookings: saves simulation
backend/main.py - Booked seats → PostgreSQL: stores records
- Simulated bookings → PostgreSQL: stores records