How mad-dcoder/matchflix works
MatchFlix is a movie-voting product: people browse a film catalog, form groups, open a session, vote, and see a match when everyone likes the same film. The backend exposes REST controllers over EF Core/MySQL; the frontend provides routing, login, and a dashboard, though group creation is currently only a UI placeholder. Edges reflect README-described capabilities or shown code references; unsampled group, genre, and catalog behavior is summarized from the README rather than treated as inspected implementation.
Main entry points: AppDbContext.cs EF data context · App.jsx Page routing · api.js HTTP client · SessoesController.cs Voting sessions
Components 21
Web client
- Page routing
matchflix-front/src/App.jsx - Login UI
matchflix-front/src/pages/Login/Login.jsx - Dashboard
matchflix-front/src/pages/Home/Home.jsx - HTTP client
matchflix-front/src/pages/services/api.js - User signup UI
matchflix-front/src/pages/cadastro/Cadastro.jsx - Film entry UI
matchflix-front/src/pages/cadastro/CadastroFilme.jsx
REST API
- Accounts and login
MatchFlix/Controllers/UsuariosController.cs - Film catalog
MatchFlix/Controllers/FilmesController.cs - Genre catalog
MatchFlix/Controllers/GenerosController.cs - Group membership
MatchFlix/Controllers/GruposController.cs - Voting sessions
MatchFlix/Controllers/SessoesController.cs
Voting domain
- Session setup
MatchFlix/Controllers/SessoesController.cs - Session film selection
MatchFlix/Models/SessaoFilme.cs - Vote recording
MatchFlix/Models/Avaliacao.cs - Unanimous match
MatchFlix/Controllers/SessoesController.cs - User and group records
MatchFlix/Models/Usuarios.cs - Film and genre records
MatchFlix/Models/Filme.cs - Match record
MatchFlix/Models/Match.cs
Persistence
- EF data context
MatchFlix/AppDbContext.cs - MySQL database
Other components
- Movie group user
Connections 29
- Movie group user → Page routing: opens
matchflix-front/src/App.jsx - Page routing → Login UI: routes to
matchflix-front/src/App.jsx - Page routing → User signup UI: routes to
matchflix-front/src/App.jsx - Page routing → Dashboard: routes to
matchflix-front/src/App.jsx - Page routing → Film entry UI: routes to
matchflix-front/src/App.jsx - Login UI → HTTP client: uses
matchflix-front/src/pages/Login/Login.jsx - Dashboard → HTTP client: fetches films
matchflix-front/src/pages/Home/Home.jsx - Movie group user → Login UI: signs in
matchflix-front/src/pages/Login/Login.jsx - Movie group user → User signup UI: registers
matchflix-front/src/pages/cadastro/Cadastro.jsx - Movie group user → Dashboard: browses
matchflix-front/src/pages/Home/Home.jsx - HTTP client → Film catalog: requests catalog
- Film entry UI → HTTP client: submits film
- HTTP client → Accounts and login: calls account routes
- Accounts and login → EF data context: queries and saves
MatchFlix/Controllers/UsuariosController.cs - Film catalog → EF data context: queries and saves
MatchFlix/Controllers/FilmesController.cs - Genre catalog → EF data context: queries and saves
MatchFlix/Controllers/GenerosController.cs - Group membership → EF data context: queries and saves
MatchFlix/Controllers/GruposController.cs - Voting sessions → Session setup: handles requests
MatchFlix/Controllers/SessoesController.cs - Voting sessions → EF data context: queries and saves
MatchFlix/Controllers/SessoesController.cs - Session setup → Session film selection: adds session films
MatchFlix/Controllers/SessoesController.cs - Voting sessions → Vote recording: records votes
MatchFlix/Controllers/SessoesController.cs - Voting sessions → Unanimous match: checks unanimity
MatchFlix/Controllers/SessoesController.cs - Unanimous match → Match record: creates match
MatchFlix/Controllers/SessoesController.cs - EF data context → MySQL database: persists entities
MatchFlix/AppDbContext.cs - EF data context → User and group records: maps users
MatchFlix/AppDbContext.cs - EF data context → Film and genre records: maps catalog
MatchFlix/AppDbContext.cs - EF data context → Session film selection: maps session films
MatchFlix/AppDbContext.cs - EF data context → Vote recording: maps evaluations
MatchFlix/AppDbContext.cs - EF data context → Match record: maps matches
MatchFlix/AppDbContext.cs