How nguyenchidung2007real-hue/cinecode works
CineMax AI combines movie discovery, semantic search and AI recommendations with a cinema booking flow that reserves seats, confirms bookings and issues QR tickets for check-in. Admin tools manage showtimes and synchronize external schedule data. The graph includes documented capabilities even where their UI or implementation was not sampled; those parts have no speculative wiring. Edges reflect the provided excerpts, SOURCE INDEX references or README, so some UI-to-API relationships are intentionally omitted.
Main entry points: route.ts Chat API · bookingService.ts Booking service · movieService.ts Movie service · bookingClient.ts Booking API client
Components 34
Movie discovery
- Movie browsing UI
src/app/page.tsx - Movie catalog API
src/app/api/movies/route.ts - Movie service
src/lib/movieService.ts - Mock movie data
src/lib/mockData.ts - Semantic search UI
src/components/SemanticSearchModal.tsx - Search API
src/app/api/search/route.ts
AI and search
- Semantic RAG service
src/lib/hfRagService.ts - AI chat widget
src/components/AiChatWidget.tsx - Chat API
src/app/api/chat/route.ts - Mood detection
src/lib/moodDetector.ts - Seat recommendations
src/lib/seatRecommender.ts - Groq AI service
Booking and tickets
- Booking modal
src/components/BookingModal.tsx - Seat-hold hook
src/hooks/useSeatHold.ts - Booking API client
src/lib/bookingClient.ts - Seat holds API
src/app/api/seats/route.ts - Booking API
src/app/api/booking/route.ts - Booking service
src/lib/bookingService.ts - My tickets UI
src/components/MyTicketsModal.tsx - Ticket lookup API
src/app/api/tickets/[id]/route.ts - Showtimes API
src/app/api/showtimes/route.ts
Cinema operations
- Ticket scanner
src/app/scanner/page.tsx - Check-in API
src/app/api/tickets/check-in/route.ts - Admin dashboard
src/app/admin/page.tsx - Admin showtimes API
src/app/api/admin/showtimes/route.ts - Beta schedule sync
src/app/api/admin/sync-beta/route.ts - Beta schedule crawler
src/lib/betaCrawler.ts
Shared services
- Seat store
src/lib/seatStore.ts - Showtime store
src/lib/showtimeStore.ts - Ticket store
src/lib/ticketStore.ts - Admin authentication
src/lib/adminAuth.ts - KV REST adapter
src/lib/kvRest.ts - Rate limiting
src/lib/rateLimit.ts
Other components
- Moviegoer
Connections 38
- Moviegoer → Movie browsing UI: browses movies
- Moviegoer → Booking modal: books tickets
- Movie catalog API → Movie service: loads movies
src/app/api/movies/route.ts - Movie service → Mock movie data: falls back to
src/lib/movieService.ts - Movie service → Groq AI service
- Semantic search UI → Search API: searches movies
- Search API → Movie service: loads catalog
src/app/api/search/route.ts - Search API → Semantic RAG service: ranks results
src/app/api/search/route.ts - AI chat widget → Chat API: sends messages
- Chat API → Movie service: loads catalog
src/app/api/chat/route.ts - Chat API → Semantic RAG service: builds context
src/app/api/chat/route.ts - Chat API → Mood detection: detects mood
src/app/api/chat/route.ts - Chat API → Seat recommendations: extracts party size
src/app/api/chat/route.ts - Chat API → Groq AI service: streams completion
- Booking modal → Seat-hold hook: manages seat holds
src/components/BookingModal.tsx - Booking modal → Booking API client: calls booking API
src/components/BookingModal.tsx - Seat-hold hook → Booking API client: requests seat holds
src/hooks/useSeatHold.ts - Booking API client → Seat holds API: calls seat endpoint
src/lib/bookingClient.ts - Booking API client → Booking API: submits booking
src/lib/bookingClient.ts - Seat holds API → Booking service: holds or releases
src/app/api/seats/route.ts - Seat holds API → Seat store: reads seat status
src/app/api/seats/route.ts - Booking API → Booking service: processes booking
src/app/api/booking/route.ts - Booking service → Seat store: holds seats
src/lib/bookingService.ts - Booking service → Showtime store: loads showtime
src/lib/bookingService.ts - Booking service → Ticket store: creates ticket
src/lib/bookingService.ts - Showtimes API → Showtime store: loads showtimes
src/app/api/showtimes/route.ts - My tickets UI → Ticket lookup API: looks up tickets
- Ticket lookup API → Ticket store: reads ticket
src/app/api/tickets/[id]/route.ts - Ticket scanner → Check-in API: checks in ticket
- Check-in API → Ticket store: validates ticket
src/app/api/tickets/check-in/route.ts - Admin dashboard → Admin showtimes API: manages showtimes
- Admin showtimes API → Admin authentication: checks authorization
src/app/api/admin/showtimes/route.ts - Admin showtimes API → Showtime store: updates showtimes
src/app/api/admin/showtimes/route.ts - Beta schedule sync → Beta schedule crawler: fetches schedules
src/app/api/admin/sync-beta/route.ts - Rate limiting → KV REST adapter: uses KV adapter
src/lib/rateLimit.ts - Seat store → KV REST adapter: uses KV adapter
src/lib/seatStore.ts - Showtime store → KV REST adapter: uses KV adapter
src/lib/showtimeStore.ts - Ticket store → KV REST adapter: uses KV adapter
src/lib/ticketStore.ts