A full-stack, AI-powered movie recommendation system designed to provide personalized movie suggestions. It leverages modern frontend technologies and a robust Python backend with access to TMDB APIs to fetch rich data (movie posters, cast photos, real-time ratings, etc.) and utilizes ML/AI recommendation engines for high-quality suggestions.
- Rich Data Extraction: Integrated with TMDB API to fetch large datasets including primary movie details, comprehensive cast information, trailers, high-resolution backdrops, and exact "Suzume" style aesthetics (developed based on conversation histories).
- Advanced Recommendations: Supports a massive repository of over 1000+ movies per request, ensuring vast pools of relevant selections.
- Modern User Interface: A highly polished, responsive front-end experience built in React (with a custom "Suzume" aesthetic), featuring optimized components (e.g.,
MovieCard.js) and stylish transitions. - Robust Backend: Python Flask-based backend, capable of multiple recommendation strategies (Content-based, Collaborative filtering, and Deep Learning mechanisms).
- Framework: React 19 /
create-react-app - Styling: Custom CSS (
app.css) with premium design aesthetics. - Icons & Requests:
lucide-reactfor smooth iconography andaxiosfor HTTP requests.
- Framework: Flask (Python) with
flask-cors - Data handling:
pandas - Machine Learning:
scikit-learn - External Data Source: TMDB API via Python's
requestslibrary.
Make sure you have the following installed on your machine:
- Node.js (v14 or higher)
- NPM or Yarn
- Python 3.8+
- TMDB API Key (You'll need this to fetch the movie data)
-
Clone the repository:
git clone <your-repository-url> cd Ai-movie-recommendation-system
-
Setup the Backend: Navigate to the backend directory, create a virtual environment, and install the dependencies.
cd ai-movie-recommender/backend python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate pip install -r requirements.txt
Note: Ensure to add your TMDB API Key in the backend environment/configuration if required by
tmdb.py. -
Setup the Frontend: Navigate to the frontend directory and install dependencies.
cd ../../frontend npm install
-
Start the Backend Server:
cd ai-movie-recommender/backend source venv/bin/activate # On Windows use: venv\Scripts\activate python app.py
The Flask server will start generally on
http://localhost:5000orhttp://0.0.0.0:5000. -
Start the Frontend Application:
cd frontend npm startThis will spin up the React development server on
http://localhost:3000. -
Explore the App: Open your browser to the local frontend address, search for a movie, and discover rich, AI-generated recommendations.
Ai-movie-recommendation-system/
βββ ai-movie-recommender/
β βββ backend/
β βββ app.py # Main Flask application entry point
β βββ recommender.py # Core recommendation logic
β βββ collaborative.py # Collaborative filtering models
β βββ deep_learning.py # Deep learning extensions
β βββ tmdb.py # TMDB API Integration & rich data fetching
β βββ tmdb_5000_credits.csv # Local primary dataset
β βββ requirements.txt # Python dependencies
βββ frontend/
βββ package.json # React project metadata
βββ public/ # Static files
βββ src/
βββ components/ # UI Components (e.g., MovieCard.js)
βββ app.css # Main styling rules
βββ index.js # React entry point
- Expand Deep Learning Models: Moving from
scikit-learnbase prototypes to advancedTensorFloworPyTorchrecommender nodes. - User Authentication: Save user profiles and past searches for continuous long-term personalized recommendations.
- Production Deployment: Containerize everything via Docker and deploy on scalable platforms like AWS or Vercel/Render.
This project is licensed under the ISC License (as noted in the frontend setup).