Skip to content

Movie Finder / Recommender System for the course Advanced Information Retrieval 2024 at Graz University of Technology

License

Notifications You must be signed in to change notification settings

IImpaq/movie-finder

Repository files navigation

🎞️ Movie Finder 🎞️

A intelligent movie recommendation system that uses advanced techniques to recommend movies based on your preferences.

Hero Trailer Video

✨ Key Features

  • Platform-independent movie recommendations
  • Genre Selection
  • Mood Choice
  • Era Timeframe Options
  • Language Decision
  • Notes for in-depth personalization

🚀 Getting Started

💻 Prerequisites

  • Git
  • Bun.js (OR: npm & node)
  • Python 3.11+

📦 Installation

# Clone the repository
git clone git@github.com:IImpaq/movie-finder.git
cd movie-finder

# Prepare the backend
cd backend
pip install -r requirements.txt
python fetch.py      # Fetch dataset from huggingface
python preprocess.py # Prepare and preprocess the data
cd ..

# Prepare the frontend
cd frontend
bun install # OR: npm install
cd ..

⚙️ Running

Full-Stack Application

# Terminal 1: Start Frontend
cd frontend
bun run dev # Website Available at http://localhost:3000

# Terminal 2: Start Backend
cd backend
uvicorn app:app --reload  # API available at http://localhost:8000

CLI Mode

# Run backend/movie recommender in interactive cli mode
cd backend
python cli.py

Evaluate the recommender system

# Run the automated evaluation script
cd backend
python evaluation.py

📚 Dataset

Already included is the preprocessed dataset. It includes around 180.000 rows and the following columns:

["id", "title", "genres", "original_language", "overview", "popularity", "vote_average", "release_date", "status", "keywords", "credits", "poster_path"]

The preprocessed dataset is generated from the raw data of the wykonos/movies collection that is published on Hugging Face.

🔧 Tech Stack

  • Frontend: NextJS & TypeScript
  • Backend: Python, FastAPI & PyTorch

🔗 Links

🧠 Team & Roles

  • Patrick Eckel: Design Document, Frontend, Data Transfer
  • Marcus Gugacs: Design Document, Frontend, Recommender, CLI, Evaluation, Questionnaire, Report, Presentation
  • Martin Tobias Klug: Design Document, Subtitle Fetching, Summarization Pipeline, Report
  • Lukas Leitner: Design Document, Data Preprocessing, Report, Presentation

📝 License

MIT License (see LICENSE).

☎️ Contact

If you have any questions or want to get in touch, just send an email


Made with ❤️

About

Movie Finder / Recommender System for the course Advanced Information Retrieval 2024 at Graz University of Technology

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •