Skip to content

Latest commit

ย 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฌ Netflix-Style Movie Recommendation System using Python, Machine Learning, NLP, FastAPI & Streamlit

A Full-Stack Netflix-style Movie Recommendation Web Application built using Python, Machine Learning, NLP, FastAPI, Streamlit & External APIs.

This project mimics how streaming platforms like Netflix recommend similar movies using Content-Based Filtering and NLP.

Complete Work Flow:

image

๐Ÿ“ธ App Screenshots

Home Page

{DAEF18A8-B507-4470-A586-DA9F7DC01194} ### Recommendations {6C22A8C5-B6F8-462D-93D5-F948D511F5C2} {C17ACAF1-510B-4E69-B0F5-5462C499E13F} {10226A71-FCB1-48E8-84A4-37C402431F46} ### API Response Screenshots {F0A1D2C0-334A-4FCD-B38F-B8473C418249} {5C0786B9-A26C-47DD-9B2C-C2F95201895C} {F0A1D2C0-334A-4FCD-B38F-B8473C418249}

๐Ÿš€ Live Demo

๐Ÿ‘‰ Frontend (Streamlit):
๐Ÿ‘‰ Backend (FastAPI): https://end-to-end-movie-recommendation-system-toqn.onrender.com/docs#/

๐Ÿ“Œ Project Journey (End-to-End Workflow)

This project follows an industry-style ML workflow:

  1. Collected real-world movie dataset from Kaggle
  2. Performed initial data analysis in Excel
  3. Conducted EDA in Jupyter Notebook
  4. Applied Feature Engineering & NLP
  5. Built Movie Recommendation ML Model
  6. Integrated Movie Poster API from RapidAPI
  7. Created FastAPI backend for model serving
  8. Built Streamlit frontend UI
  9. Developed using VS Code
  10. Version controlled with Git & GitHub

This makes the project a true Production-Ready End-to-End ML Application.


โœจ Features

  • Search any movie from dataset
  • Get Top 10 similar movie recommendations
  • Fetch movie posters using RapidAPI
  • NLP-based similarity engine
  • FastAPI REST API backend
  • Interactive Streamlit web UI
  • Login / Signup system
  • Fully deployable full-stack project

๐Ÿง  Machine Learning Pipeline

Data Analysis

  • Dataset cleaned using Excel & Pandas
  • Missing values handled
  • Dataset understanding & preprocessing

Exploratory Data Analysis (Jupyter)

  • Distribution & trend analysis
  • Text data exploration

Feature Engineering

Combined movie metadata into one text corpus:

  • Genres
  • Keywords
  • Overview
  • Cast & Crew

NLP + Recommendation Model

Algorithms Used:

  • TF-IDF Vectorization
  • Cosine Similarity
  • Content-Based Filtering

Model returns Top 10 most similar movies instantly.


๐Ÿ”— API Integration

Movie posters are fetched using RapidAPI Movie Database API.


๐Ÿ› ๏ธ Tech Stack

Category Tools
Language Python
IDE VS Code(Jupyter Notebook)
Data Analysis Excel, Pandas, NumPy
Visualization Matplotlib, Seaborn
Machine Learning Scikit-learn
NLP TF-IDF
Backend FastAPI
Frontend Streamlit
API RapidAPI
Version Control Git & GitHub
Deployment Render
Deployment Streamlit

๐Ÿ“‚ Project Structure

End-to-End-Movie-Recommendation-System โ”‚ โ”œโ”€โ”€ movies.ipynb โ”œโ”€โ”€ movies_metadata.csv โ”œโ”€โ”€ tfidf.pkl โ”œโ”€โ”€ tfidf_matrix.pkl โ”œโ”€โ”€ indices.pkl โ”œโ”€โ”€ df.pkl โ”‚ โ”œโ”€โ”€ main.py โ”œโ”€โ”€ app.py โ”œโ”€โ”€ users.json โ”œโ”€โ”€ requirements.txt โ””โ”€โ”€ .gitignore


โš™๏ธ Installation & Setup

Clone Repository

Git Clone https://github.com/Ramesh8dsaiml/End-to-End-Movie-Recommendation-System cd End-to-End-Movie-Recommendation-System

Create Virtual Environment

python -m venv myenv myenv\Scripts\activate

Install Dependencies

pip install -r requirements.txt


โ–ถ๏ธ Run Backend

uvicorn main:app --reload

โ–ถ๏ธ Run Frontend

streamlit run app.py


๐Ÿ”ฎ Future Improvements

  • Add Collaborative Filtering
  • Docker Deployment
  • Cloud Database Integration
  • Better Authentication
  • Improve UI/UX

๐Ÿ‘จโ€๐Ÿ’ป Author

Ramesh Kumar

If you like this project, please give it a โญ on GitHub!

About

End-to-End Movie Recommendation System using Machine Learning , EDA , NLP, TF-IDF & FastAPI ,Streamlit ,

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages