How sameerasherr/snackflix works
SnackFlix is a social film-discovery and tracking web app. Users browse or search TMDB films, inspect details, save films to a profile with statuses, and share and discuss community publications. The React router exposes the main user-facing pages; the Express server mounts dedicated API routes, which access MySQL for accounts and film associations and MongoDB for publications and comments. The README documents the broader capabilities; sampled sources confirm key server dispatch and storage behavior, but not every page’s API calls.
Main entry points: server.ts Express API · main.tsx Page router · db.ts MySQL · authRoutes.ts Authentication
Components 22
React application
- Film home
src/PageAccueil.tsx - Film search
src/PageVoirTout.tsx - Film details
src/PageInformationProduit.tsx - Sign up
src/PageInscription.tsx - Sign in
src/Login.tsx - User profile
src/PageProfil.tsx - Community feed
src/PageCommu.tsx - Page router
src/main.tsx
Accounts and library
- Authentication
server/route/authRoutes.ts - User accounts
server/route/utilisateurRoutes.ts - Film library
server/route/utilisateurFilmRoutes.ts - Film statuses
server/route/statusRoutes.ts
Community features
- Publications
server/route/publicationRoutes.ts - Comments
server/route/commentaireRoutes.ts - Community insights
server/route/communauteRoutes.ts
Backend and data
- Express API
server/server.ts - Film catalog API
server/route/tmdbRoutes.ts - MySQL
server/db.ts - MongoDB
server/db.ts
Other components
- User
- TMDB
- Google identity
Connections 36
- User → Page router: opens app
- Page router → Film home: routes to
- Page router → Film search: routes to
- Page router → Film details: routes to
- Page router → Sign up: routes to
- Page router → Sign in: routes to
- Page router → User profile: routes to
- Page router → Community feed: routes to
- Film home → Express API: requests data
- Film search → Express API: requests data
- Film details → Express API: requests data
- Sign up → Express API: submits account
- Sign in → Express API: submits credentials
- User profile → Express API: requests profile
- Community feed → Express API: requests feed
- Express API → Authentication: mounts /login
- Express API → User accounts: mounts /utilisateur
- Express API → Film library: mounts /utilisateur_film
- Express API → Film statuses: mounts /status
- Express API → Film catalog API: mounts /tmdb
- Express API → Publications: mounts /publication
- Express API → Comments: mounts /commentaire
- Express API → Community insights: mounts /communaute
- Authentication → MySQL: reads and writes
- User accounts → MySQL: reads and writes
- Film library → MySQL: reads and writes
- Film library → MongoDB: reads and deletes
- Film statuses → MySQL: reads
- Publications → MongoDB: reads and writes
- Publications → MySQL: reads users
- Comments → MongoDB: reads and writes
- Comments → MySQL: reads user
- Community insights → MongoDB: aggregates posts
- Community insights → MySQL: reads users
- Film catalog API → TMDB: fetches catalog
- Authentication → Google identity: verifies identity