A full-stack movie discovery and watchlist application built with React and Django. Browse popular movies from TMDB, search movies in real-time, view detailed movie information, and save movies to a persistent watchlist.
- Browse popular movies from TMDB
- Search movies by title in real-time
- View detailed movie information
- Add movies to a persistent watchlist
- Remove movies from your watchlist
- Watchlist data stored in a Django backend
- Responsive user interface
- Live TMDB API integration
/ → Home — browse all movies, search and filter by genre
/watchlist → Watchlist — your saved movies with stats
/MovieInfo/:id → Detail — TMDB movie info and watchlist controls
- Django 6
- SQLite
- Django ORM
- ESLint
- Git
- GitHub
# 1. Clone the repo
git clone https://github.com/your-username/movie-watchlist.git
cd movie-watchlist
# 2. Install dependencies
npm install
# 3. Start the dev server
npm run dev...........................................................................
This app now uses a Django backend for the watchlist and a backend proxy to TMDB for movie search.
Create a TMDB account, then get your API Read Access Token from your TMDB API settings.
In PowerShell, start the backend:
cd backend
python manage.py migrate
python manage.py runserver 127.0.0.1:8000In a second PowerShell window, start the frontend:
npm.cmd install
npm.cmd run dev -- --host 127.0.0.1 --port 5173Open:
http://127.0.0.1:5173/
Notes:
- The local TMDB token is read from
backend/.env. - Keep the TMDB token in the backend only, not in React.
- On this machine, SQLite cannot reliably write inside the synced
C:\My Drive\...folder, so Django defaults the dev database to Windows temp. Override it withSQLITE_DATABASE_PATHif needed. - Use
npm.cmdin PowerShell ifnpmis blocked by the script execution policy.