How akhanal222/watchmovie works
Watchly lets users discover movies, inspect details, and maintain a personal watchlist, with account registration and login. The documented client/server design and sampled route/controller code support the backend request paths shown; frontend component-to-API wiring is not sampled, so those links are omitted. The README identifies PostgreSQL and TMDB integrations; storage helpers and model paths are included where supported by the tree, but unsampled query behavior is not expanded.
Main entry points: App.jsx React app · db.js Database client · server.js Express server · watchlistRoutes.js Watchlist routes
Components 24
Web client
- React app
frontend/src/App.jsx - Movie search
frontend/src/components/MovieSearch.jsx - Movie details
frontend/src/components/MovieDetail.jsx - Movie card
frontend/src/components/MovieCard.jsx - Watchlist view
frontend/src/components/Watchlist.jsx - Add to list
frontend/src/components/AddToWatchlistButton.jsx - Login
frontend/src/components/Login.jsx - Registration
frontend/src/components/Register.jsx - Navigation
frontend/src/components/Navbar.jsx
API services
- Express server
server.js - Movie routes
routes/tmdbRoutes.js - Movie discovery
controllers/tmdbController.js - Auth routes
routes/authRoutes.js - Account auth
controllers/authController.js - JWT guard
middleware/authMiddleware.js - Watchlist routes
routes/watchlistRoutes.js - Watchlist service
controllers/watchlistController.js
Persistence
- Account queries
models/authModel.js - Watchlist queries
models/watchlistModels.js - Movie queries
models/movieModels.js - Database client
models/db.js
Other components
- Movie fan
- TMDB API
- PostgreSQL
Connections 21
- Movie fan → React app: uses
- React app → Movie search: routes to
- React app → Movie details: routes to
- React app → Watchlist view: routes to
- React app → Login: routes to
- React app → Registration: routes to
- React app → Navigation: renders
- Express server → Movie routes: mounts
- Express server → Watchlist routes: mounts
- Express server → Auth routes: mounts
- Movie routes → Movie discovery: dispatches
- Movie discovery → TMDB API: requests data
- Auth routes → Account auth: dispatches
- Account auth → Account queries: queries
- Watchlist routes → JWT guard: guards
- Watchlist routes → Watchlist service: dispatches
- Watchlist service → Watchlist queries: queries
- Account queries → Database client: uses
- Watchlist queries → Database client: uses
- Movie queries → Database client: uses
- Database client → PostgreSQL: connects