How ansbeno/cinema works
Films Cinema Platform combines an Angular customer app with a Spring Boot customer API and Thymeleaf admin area. The main customer journey is browsing films and upcoming screenings, selecting a screening, checking availability, booking tickets, then reviewing or canceling bookings; signed-in customers can also rate films. Admins manage screenings, users, and cinema data and review dashboard metrics. The graph preserves these documented capabilities, but sampled source supports detailed service-to-repository links only for selected backend workflows; unsampled connections are omitted.
Main entry points: app.routes.ts App routes · BookingService.java Booking rules · FilmRatingService.java Film ratings · DashboardService.java Dashboard metrics
Components 32
Customer app
- App routes
Films_Angular/src/app/app.routes.ts - Home and upcoming
Films_Angular/src/app/pages/home/home.component.ts - Film browsing
Films_Angular/src/app/pages/film/films/films.component.ts - Film details
Films_Angular/src/app/pages/film/film-details/film-details.component.ts - Login and signup
Films_Angular/src/app/pages/auth/login/login.component.ts - My bookings
Films_Angular/src/app/pages/booking/my-bookings/my-bookings.component.ts
Identity
- Auth client
Films_Angular/src/app/services/auth.service.ts - Auth API
Films_SpringBoot/src/main/java/com/ansbeno/films/auth/ApiAuthController.java - Authentication
Films_SpringBoot/src/main/java/com/ansbeno/films/auth/AuthenticationService.java - User records
Films_SpringBoot/src/main/java/com/ansbeno/films/user/UserRepository.java
Cinema catalog
- Film client
Films_Angular/src/app/services/film.service.ts - Screening client
Films_Angular/src/app/services/screening.service.ts - Film API
Films_SpringBoot/src/main/java/com/ansbeno/films/film/ApiFilmController.java - Film catalog
Films_SpringBoot/src/main/java/com/ansbeno/films/film/FilmService.java - Film records
Films_SpringBoot/src/main/java/com/ansbeno/films/film/FilmRepository.java - Screening API
Films_SpringBoot/src/main/java/com/ansbeno/films/screening/ApiScreeningController.java - Screening queries
Films_SpringBoot/src/main/java/com/ansbeno/films/screening/ScreeningService.java - Screening records
Films_SpringBoot/src/main/java/com/ansbeno/films/screening/ScreeningRepository.java
Bookings and ratings
- Booking client
Films_Angular/src/app/services/booking.service.ts - Booking API
Films_SpringBoot/src/main/java/com/ansbeno/films/booking/ApiBookingController.java - Booking rules
Films_SpringBoot/src/main/java/com/ansbeno/films/booking/BookingService.java - Booking records
Films_SpringBoot/src/main/java/com/ansbeno/films/booking/BookingRepository.java - Rating API
Films_SpringBoot/src/main/java/com/ansbeno/films/rating/ApiFilmRatingController.java - Film ratings
Films_SpringBoot/src/main/java/com/ansbeno/films/rating/FilmRatingService.java - Rating records
Films_SpringBoot/src/main/java/com/ansbeno/films/rating/FilmRatingRepository.java
Admin operations
- Dashboard
Films_SpringBoot/src/main/java/com/ansbeno/films/dashboard/DashboardController.java - Dashboard metrics
Films_SpringBoot/src/main/java/com/ansbeno/films/dashboard/DashboardService.java - Screening management
Films_SpringBoot/src/main/java/com/ansbeno/films/screening/ScreeningController.java - Film management
Films_SpringBoot/src/main/java/com/ansbeno/films/film/FilmController.java - User management
Films_SpringBoot/src/main/java/com/ansbeno/films/user/UserController.java
Other components
- Customers
- Administrators
Connections 38
- Customers → App routes: navigate
- App routes → Home and upcoming: loads
- App routes → Film browsing: loads
- App routes → Film details: loads
- App routes → Login and signup: loads
- App routes → My bookings: loads
- Login and signup → Auth client: requests auth
- Film browsing → Film client: requests films
- Film details → Film client: requests details
- Home and upcoming → Screening client: requests screenings
- Film details → Screening client: requests screenings
- My bookings → Booking client: manages bookings
- Auth client → Auth API: calls API
- Film client → Film API: calls API
- Screening client → Screening API: calls API
- Booking client → Booking API: calls API
- Auth API → Authentication: delegates
- Authentication → User records: reads and writes
- Film API → Film catalog: delegates
- Film catalog → Film records: reads and writes
- Screening API → Screening queries: delegates
- Screening queries → Screening records: queries
- Booking API → Booking rules: delegates
- Booking rules → Booking records: reads and writes
- Booking rules → Screening records: checks screening
- Booking rules → User records: finds customer
- Administrators → Dashboard: uses
- Dashboard → Dashboard metrics: delegates
- Dashboard metrics → Film records: counts films
- Dashboard metrics → Screening records: counts screenings
- Dashboard metrics → User records: counts users
- Administrators → Screening management: manages
- Administrators → Film management: manages
- Administrators → User management: manages
- Rating API → Film ratings: delegates
- Film ratings → Rating records: reads and writes
- Film ratings → Film records: finds film
- Film ratings → User records: finds customer