Code Monkey home page Code Monkey logo

movierecommenderstaticwebapp's Introduction

Movie Recommender Static Web App

This project implements a basic static web application for recommending movies based on content similarity. The recommendations are generated using a precomputed cosine similarity matrix from the MovieLens dataset. For more information and to view the code for the movie recommendation algorithm, please view the repo here.

Overview

This web app allows users to input a movie title from a pre-computed list and receive the top 10 movie recommendations based on genres, tags, movie title, and average rating.

Features

  • Content-Based Filtering: Uses movie genres, tags, titles, and average rating for recommendations.
  • Cosine Similarity: Calculates similarity scores between movies.
  • Precomputed Recommendations: Recommendations are precomputed and stored in a JSON file to save on compute and memory.

How It Works

  1. Data Preparation:

    • Aggregates tags and average rating for each movie, and then combines them with the movie genre and title to create a feature set for each movie.
    • Calculates cosine similarity scores between movies.
  2. Recommendation Function:

    • A function that takes a movie title and retrieves the top 10 similar movies based on precomputed similarity scores.
  3. Web App:

    • A simple web interface where users can input a movie title to get recommendations.
    • Hosted on Azure Static Web Apps.

Project Specifics

Student Project Approach

  • Precomputed Data:
    • For this student project, only a subset of movies is used.
    • Ten movies and their top 10 related movies are stored in a JSON file (top_10_movies.json).
    • This approach minimizes computational and memory requirements, making it easier to manage and deploy.

Future Enhancements

  • Scalability:
    • In a production-level project, recommendations could be dynamically generated by connecting to a movie API.
    • The recommendation script could run daily (e.g., at midnight) to update the recommendations.
    • Results could be stored in a NoSQL database in JSON format, allowing the web app to fetch real-time recommendations.

Setup and Deployment

  1. Clone the Repository:

    git clone https://github.com/yourusername/MovieRecommenderWebApp.git
  2. Navigate to the Project Directory:

    cd MovieRecommenderWebApp
  3. Start a Local Server:

    python -m http.server 8000
  4. Deploy to Azure:

    • Follow the Azure Static Web Apps setup to link your GitHub repository and deploy the app.

Usage

  • Open the web app in your browser.
  • Enter a movie title to get the top 10 recommendations.

Future Enhancements

  • Integrate Collaborative Filtering: Improve recommendations by incorporating user behavior data.
  • Dynamic Updates: Connect to a movie API for real-time updates.
  • Database Integration: Store recommendation results in a NoSQL database for efficient querying and scalability.

movierecommenderstaticwebapp's People

Contributors

dtavizondykstra avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.