Skip to content

parinaB/MovieRecommend

Repository files navigation

PrimeMovies: AI-Powered Movie Recommender

A high-fidelity movie discovery platform built with an Amazon Prime Video–inspired interface. It combines a FastAPI-based machine learning backend with a Streamlit frontend to deliver an interactive movie recommendation experience.


Features

  • Prime Video–Style UI

  • Custom dark navy theme inspired by modern streaming platforms

  • Glassmorphism effects and hover-scale interactions

  • Clean, distraction-free browsing experience

  • AI Recommendation Engine

    • Hybrid recommendation system using:
    • TF-IDF content-based filtering
    • Genre-based clustering
    • Similarity-driven movie recommendations
  • Dynamic Hero Banner

    • Displays trending movies dynamically
    • High-resolution backdrop images
    • IMDb rating integration
  • Real-Time Search

    • Autocomplete suggestions
    • Keyword-based search functionality
    • Integrated with TMDB API
  • Navigation

    • Horizontal navigation bar
    • Streamlined layout without sidebar dependency
    • Web-app-like user experience

Tech Stack

  • Frontend: Streamlit (Python)
  • Backend: FastAPI (Python)
  • Machine Learning: Scikit-learn, Pandas, NumPy
  • Data Source: TMDB API, IMDb dataset

Project Structure

├── app.py                  # Streamlit frontend
├── main.py                 # FastAPI backend
├── requirements.txt        # Project dependencies
├── data/
│   ├── df.pkl              # Processed dataset
│   ├── tfidf_matrix.pkl    # Feature vectors
│   └── imdb_movies.csv     # Raw dataset

How to Run Locally

1. Clone the repository

git clone [https://github.com/parinaB/MovieRecommend.git](https://github.com/parinaB/MovieRecommend.git)
cd MovieRecommend

2. Create virtual environment

python -m venv .venv

3. Activate environment:

  1. Mac/Linux:
source .venv/bin/activate
  1. Windows:
.venv\Scripts\activate
  1. Install dependencies
pip install -r requirements.txt
  1. Run the application

    • Start backend:
     uvicorn main:app --reload
    • Start frontend:
streamlit run app.py

Future Improvements

  • Multilingual support with language selection
  • User authentication and personalized watchlists
  • Collaborative filtering based on user behavior

Note

Ensure the FastAPI backend is running at:

http://127.0.0.1:8000

The Streamlit frontend communicates with the backend via the API_BASE configuration.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors