How luismangoataulfo/cinematch-backend works
Cinematch Backend is a Spring REST/WebSocket application for discovering shared movie and series recommendations. Users authenticate, create or join a room, apply content filters, and retrieve room matches; they can then chat and receive real-time room events. Supporting flows manage profiles, platforms, ratings, evaluations, feedback, metrics, and administration. The sampled code confirms authentication, JWT invalidation, room lifecycle, filtering repositories, and WebSocket notifications; several surrounding capabilities are represented from the repository tree, with uncertain internal call wiring omitted.
Main entry points: SalaServiceImpl.java Room Service · JwtService.java JWT Service · AuthController.java Auth API · UsuarioRepository.java User Store
Components 26
API Layer
- Auth API
src/main/java/com/cinematchbackend/controllers/AuthController.java - Room API
src/main/java/com/cinematchbackend/controllers/SalaController.java - Filter API
src/main/java/com/cinematchbackend/controllers/FiltroController.java
Identity
- JWT Filter
src/main/java/com/cinematchbackend/config/JwtAuthenticationFilter.java - JWT Service
src/main/java/com/cinematchbackend/config/JwtService.java - User Service
src/main/java/com/cinematchbackend/services/impl/UsuarioServiceImpl.java - User Store
src/main/java/com/cinematchbackend/repositories/UsuarioRepository.java - Token Store
src/main/java/com/cinematchbackend/repositories/TokenInvalidadoRepository.java
Discovery
- Filter Service
src/main/java/com/cinematchbackend/services/impl/FiltroServiceImpl.java - Filter Context
src/main/java/com/cinematchbackend/strategy/FiltroContext.java - Filter Strategies
src/main/java/com/cinematchbackend/strategy/FiltroStrategy.java - Content Store
src/main/java/com/cinematchbackend/repositories/ContenidoRepository.java - Match Service
src/main/java/com/cinematchbackend/services/impl/MatchServiceImpl.java
Room Collaboration
- Room Service
src/main/java/com/cinematchbackend/services/impl/SalaServiceImpl.java - Room Store
src/main/java/com/cinematchbackend/repositories/SalaRepository.java - Match Store
src/main/java/com/cinematchbackend/repositories/MatchRepository.java - Realtime Gateway
src/main/java/com/cinematchbackend/config/WebSocketConfig.java - Presence Events
src/main/java/com/cinematchbackend/config/PresenciaEventListener.java - Chat Service
src/main/java/com/cinematchbackend/services/impl/ChatServiceImpl.java - Message Store
src/main/java/com/cinematchbackend/repositories/MensajeRepository.java
Supporting Domains
- Platform Service
src/main/java/com/cinematchbackend/services/impl/PlataformaServiceImpl.java - Feedback Services
src/main/java/com/cinematchbackend/services/impl/RetroalimentacionServiceImpl.java - Metrics Service
src/main/java/com/cinematchbackend/services/impl/MetricasServiceImpl.java
Other components
- User
- Administrator
- Application Database
Connections 27
- User → Auth API: authenticates
- Administrator → Auth API: authenticates
- Auth API → User Service: calls
- User Service → User Store: reads/writes
- JWT Filter → JWT Service: validates
- JWT Service → Token Store: checks invalidation
- JWT Service → Token Store: stores invalidation
- User Store → Application Database: persists users
- Token Store → Application Database: persists tokens
- User → Room API: manages rooms
- Room API → Room Service: calls
- Room Service → Room Store: reads/writes
- Room Service → User Store: loads users
- Room Service → Match Store: loads matches
- Room Service → Message Store: clears messages
- Room Service → Realtime Gateway: broadcasts events
- Presence Events → Realtime Gateway: handles presence
- User → Filter API: filters content
- Filter API → Filter Service: calls
- Filter Service → Filter Context: selects strategy
- Filter Context → Filter Strategies: dispatches
- Filter Strategies → Content Store: queries content
- Content Store → Application Database: reads content
- Match Service → Match Store: stores matches
- Chat Service → Message Store: stores messages
- Message Store → Application Database: persists messages
- Platform Service → Content Store: supports availability