How vanthang-lvt/tram_phim_backup works
Trạm Phim is a movie-ticket booking application with customer booking and payment flows plus an administrator console. Customers browse films and showtimes, select seats, create a booking, and complete QR payment; accounts and booking history support that journey. The frontend routes screens and calls a Spring backend, which exposes domain APIs backed by MySQL. The README also documents payment confirmation, email tickets, room/seat management, and reporting. Backend source was not sampled, so those documented capabilities are shown as subsystems without asserted internal call paths.
Main entry points: App.tsx Application routes · controller Spring Boot API · auth.ts Authentication API client · movies.ts Movie API client
Components 32
Customer booking
- Film discovery
FE_TramPhim/cineaura-login/cineaura-login/src/pages/MovieListPage.tsx - Movie details
FE_TramPhim/cineaura-login/cineaura-login/src/pages/MovieDetailPage.tsx - Showtime browsing
FE_TramPhim/cineaura-login/cineaura-login/src/pages/ShowtimePage.tsx - Seat selection
FE_TramPhim/cineaura-login/cineaura-login/src/pages/SeatSelectionPage.tsx - Payment screen
FE_TramPhim/cineaura-login/cineaura-login/src/pages/PaymentPage.tsx - Account screens
FE_TramPhim/cineaura-login/cineaura-login/src/pages/RegisterPage.tsx - Home discovery
FE_TramPhim/cineaura-login/cineaura-login/src/pages/HomePage.tsx - Booking history
FE_TramPhim/cineaura-login/cineaura-login/src/pages/ProfilePage.tsx
Web application
- Application routes
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Session storage
FE_TramPhim/cineaura-login/cineaura-login/src/auth/session.ts - Authentication API client
FE_TramPhim/cineaura-login/cineaura-login/src/api/auth.ts - Movie API client
FE_TramPhim/cineaura-login/cineaura-login/src/api/movies.ts - Showtime API client
FE_TramPhim/cineaura-login/cineaura-login/src/api/showtimes.ts - Booking API client
FE_TramPhim/cineaura-login/cineaura-login/src/api/bookings.ts
Backend services
- Spring Boot API
BE_TramPhim/servermovie/servermovie/demo/src/main/java/com/example/controller - Film and genre services
BE_TramPhim/servermovie/servermovie/demo/src/main/java/com/example/service/MovieService.java - Booking and cleanup
BE_TramPhim/servermovie/servermovie/demo/src/main/java/com/example/service/BookingServiceImpl.java - QR payment
BE_TramPhim/servermovie/servermovie/demo/src/main/java/com/example/service/VietQrPaymentService.java - Payment confirmation
BE_TramPhim/servermovie/servermovie/demo/src/main/java/com/example/service/SePayWebhookService.java - Ticket email
BE_TramPhim/servermovie/servermovie/demo/src/main/java/com/example/service/EmailService.java - MySQL database
DataBase/bookticket68.sql
Administration
- Dashboard and reports
FE_TramPhim/cineaura-login/cineaura-login/src/pages/admin/AdminDashboardPage.tsx - Film management
FE_TramPhim/cineaura-login/cineaura-login/src/pages/admin/AdminMoviesPage.tsx - Showtime management
FE_TramPhim/cineaura-login/cineaura-login/src/pages/admin/AdminShowtimesPage.tsx - Room and seat management
FE_TramPhim/cineaura-login/cineaura-login/src/pages/admin/AdminRoomSeatPage.tsx - Revenue reports
FE_TramPhim/cineaura-login/cineaura-login/src/pages/admin/AdminRevenuePage.tsx
External services
- SePay
- VietQR
- Brevo SMTP
- Google Login
Other components
- Customer
- Administrator
Connections 45
- Customer → Application routes: opens app
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Administrator → Application routes: opens console
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Home discovery: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Film discovery: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Movie details: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Showtime browsing: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Seat selection: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Payment screen: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Account screens: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Booking history: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Dashboard and reports: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Film management: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Showtime management: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Room and seat management: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Application routes → Revenue reports: routes to
FE_TramPhim/cineaura-login/cineaura-login/src/App.tsx - Home discovery → Movie API client: fetches listings
FE_TramPhim/cineaura-login/cineaura-login/src/pages/HomePage.tsx - Film discovery → Movie API client: loads films
FE_TramPhim/cineaura-login/cineaura-login/src/pages/MovieListPage.tsx - Movie details → Movie API client: loads film
FE_TramPhim/cineaura-login/cineaura-login/src/pages/MovieDetailPage.tsx - Movie details → Showtime API client: loads showtimes
FE_TramPhim/cineaura-login/cineaura-login/src/pages/MovieDetailPage.tsx - Showtime browsing → Showtime API client: loads schedules
FE_TramPhim/cineaura-login/cineaura-login/src/pages/ShowtimePage.tsx - Seat selection → Showtime API client: loads seats
FE_TramPhim/cineaura-login/cineaura-login/src/pages/SeatSelectionPage.tsx - Seat selection → Booking API client: creates booking
FE_TramPhim/cineaura-login/cineaura-login/src/pages/SeatSelectionPage.tsx - Payment screen → Booking API client: checks payment
FE_TramPhim/cineaura-login/cineaura-login/src/pages/PaymentPage.tsx - Booking history → Booking API client: loads history
FE_TramPhim/cineaura-login/cineaura-login/src/pages/ProfilePage.tsx - Account screens → Authentication API client: registers account
FE_TramPhim/cineaura-login/cineaura-login/src/pages/RegisterPage.tsx - Authentication API client → Spring Boot API: HTTP auth
FE_TramPhim/cineaura-login/cineaura-login/src/api/auth.ts - Movie API client → Spring Boot API: HTTP film requests
FE_TramPhim/cineaura-login/cineaura-login/src/api/movies.ts - Showtime API client → Spring Boot API: HTTP schedule requests
FE_TramPhim/cineaura-login/cineaura-login/src/api/showtimes.ts - Booking API client → Spring Boot API: HTTP booking requests
FE_TramPhim/cineaura-login/cineaura-login/src/api/bookings.ts - Spring Boot API → MySQL database: persists domain data
- Spring Boot API → Film and genre services: delegates film work
- Spring Boot API → Booking and cleanup: delegates bookings
- Booking and cleanup → QR payment: prepares QR payment
- SePay → Payment confirmation: sends payment notice
README.md - Payment confirmation → Ticket email: triggers ticket email
README.md - QR payment → VietQR: creates QR
README.md - Ticket email → Brevo SMTP: sends via SMTP
README.md - Authentication API client → Google Login: Google credential login
FE_TramPhim/cineaura-login/cineaura-login/src/api/auth.ts - Film management → Spring Boot API: HTTP film administration
FE_TramPhim/cineaura-login/cineaura-login/src/pages/admin/AdminMoviesPage.tsx - Showtime management → Spring Boot API: HTTP schedule administration
FE_TramPhim/cineaura-login/cineaura-login/src/pages/admin/AdminShowtimesPage.tsx - Dashboard and reports → Spring Boot API: loads statistics
- Room and seat management → Spring Boot API: manages room seats
- Revenue reports → Spring Boot API: loads revenue reports
- Authentication API client → Session storage: stores login result
FE_TramPhim/cineaura-login/cineaura-login/src/auth/session.ts - Customer → Account screens: signs in or registers