How dosaraviaq/api-cine-dip works
This is a NestJS cinema-booking API: users authenticate, browse films and screenings/seats, then submit a seat reservation; administrators manage people, roles, films and screenings. The map separates identity, catalogue/scheduling, reservations, and shared runtime concerns. Controllers and the persona/authentication flows are supported by sampled source; other service-to-repository links follow the module layout, while uncertain file-upload wiring is omitted. PostgreSQL is configured in the application module.
Main entry points: auth.service.ts Auth Service · persona.service.ts People Service · reservas.service.ts Reservations Service · auth.controller.ts Auth API
Components 21
Identity
- Auth API
src/modules/auth/auth.controller.ts - Auth Service
src/modules/auth/auth.service.ts - Auth Repository
src/modules/auth/auth.repository.ts - People API
src/modules/persona/persona.controller.ts - People Service
src/modules/persona/persona.service.ts - People Repository
src/modules/persona/persona.repository.ts - JWT Strategy
src/modules/auth/strategies/jwt.strategy.ts - Role Guard
src/modules/auth/guards/roles.guard.ts
Films And Schedule
- Films API
src/modules/reservas/peliculas.controller.ts - Schedule API
src/modules/reservas/cartelera.controller.ts - Schedule Service
src/modules/reservas/cartelera.service.ts - Schedule Repository
src/modules/reservas/cartelera.repository.ts - Files API
src/modules/reservas/files.controller.ts - Files Service
src/modules/reservas/files.service.ts
Reservations
- Reservations API
src/modules/reservas/reservas.controller.ts - Reservations Service
src/modules/reservas/reservas.service.ts - Reservations Repository
src/modules/reservas/reservas.repository.ts
Shared Runtime
- App Configuration
src/app.module.ts - PostgreSQL
- HTTP Bootstrap
src/main.ts
Other components
- API Client
Connections 27
- API Client → Auth API: login request
- Auth API → Auth Service: authenticates
- Auth Service → Auth Repository: checks credentials
- Auth Repository → PostgreSQL: reads identity
- Auth Service → JWT Strategy: issues token
- API Client → People API: people requests
- People API → People Service: manages people
- People Service → People Repository: reads and writes
- People Service → Auth Service: creates account
- People Repository → PostgreSQL: persists people
- Auth Service → PostgreSQL: persists credentials
- API Client → Films API: film requests
- Films API → Reservations Service: manages films
- API Client → Schedule API: schedule requests
- Schedule API → Schedule Service: queries schedule
- Schedule Service → Schedule Repository: loads schedule
- Schedule Repository → PostgreSQL: reads schedule
- API Client → Reservations API: reserves seats
- Reservations API → Reservations Service: creates reservation
- Reservations Service → Reservations Repository: stores reservation
- Reservations Repository → PostgreSQL: reads and writes
- API Client → Files API: file requests
- Files API → Files Service: handles files
- HTTP Bootstrap → App Configuration: starts application
- App Configuration → PostgreSQL: configures connection
- API Client → Role Guard: protected request
- Role Guard → JWT Strategy: validates token