How gayatri-oman/movie-recommendation-system works
This is a movie-discovery web app: users search by title, choose a match, and request content-based recommendations; the UI also loads featured movies. The Flask API delegates search and recommendation work to a Python engine built around a cleaned movie dataset, TF-IDF, and cosine similarity. It enriches recommendation and featured results with TMDB poster data. The README also describes responsive presentation and similarity percentages. The README contains conflicting versions, so the graph follows capabilities visible in the sampled code; unsampled preprocessing details are not expanded.
Main entry points: App.jsx Movie experience · app.py Flask routes · api.js API client · recommender.py Search and recommendations
Components 9
Web client
- Movie experience
frontend/src/App.jsx - API client
frontend/src/services/api.js - Cinematic background
frontend/src/AnimatedBackground.jsx
REST API
- Flask routes
backend/app.py
Recommendation engine
- Cleaned movie catalog
data/movies_cleaned.csv - Search and recommendations
src/recommender.py
Poster enrichment
- TMDB lookup
backend/tmdb_service.py
Other components
- Movie viewer
- TMDB service
Connections 11
- Movie viewer → Movie experience: searches movies
frontend/src/App.jsx - Movie experience → API client: requests search
frontend/src/App.jsx - Movie experience → API client: requests recommendations
frontend/src/App.jsx - Movie experience → API client: loads featured
frontend/src/App.jsx - Movie experience → Cinematic background: renders
frontend/src/App.jsx - API client → Flask routes: calls REST routes
frontend/src/services/api.js - Flask routes → Search and recommendations: delegates search
backend/app.py - Flask routes → Search and recommendations: delegates ranking
backend/app.py - Search and recommendations → Cleaned movie catalog: loads dataset
src/recommender.py - Flask routes → TMDB lookup: looks up posters
backend/app.py - TMDB lookup → TMDB service: searches movies
backend/tmdb_service.py