Skip to content

TommasU/SE21-project

 
 

NCSU CSC-510 Software Engineering Project 2 GROUP-4

License: MIT DOI Build Status Codecov

Code style: black Code Climate maintainability Code Climate technical debt YouTube Video Views

Movie Recommendation System (MovieBuddy)

This repository is part of CSC 510 Software Engineering Project 2. It is a continuation of Group 21's CSC 510 Software Engineering Project 1.

Project Video

Our video can be found here on YouTube.

IMAGE ALT TEXT HERE

Local Installation

To run this project locally, you need to follow the below steps:
NOTE: Make sure you have git and Python installed.

  1. Clone the repository
git clone https://github.com/bhoomi2807/SE21-project.git
  1. Go the the repository
cd SE21-project
  1. Make sure you have all the dependencies installed.
pip install -r requirements.txt
  1. On a Command Prompt/Terminal, run app.py.
python app.py

Installation using Package Manager

Our code has been packaged and distributed to Test PyPI. It can be downloaded as follows.

pip install -i https://test.pypi.org/simple/ movie-recommender==0.0.1

Documentation

Find the point descriptions of each class/function as well as instructions to run the project here.

Description

Recommend a user with a set of movies that they might like by considering the movies they have liked in the past and also considering the movies liked by other users that have a similar taste like them.

Approaches

  1. Content-Based
  2. Collaborative Filtering
  • Item - Item Collaborative Filtering
  • User - user Collaborative Filtering

There are two major approaches to implement recommendation systems: Content-Based and Collaborative Filtering. In Content-Based, we only consider the users’ past history and recommend movies from the genres that they have liked in the past. In this project, we have implemented Collaborative Filtering (CF). Collaborative filtering has two types: Item-Item CF and User-User CF.
In Item-Item CF, we recommend the items that are most similar to the items liked by the user. Whereas, in User-User CF, we recommend the items liked by the users that are similar to the user we want to make a recommendation for.

Use Cases

Based on the Genre(Content Based) :
Let’s consider Lisa’s favourite genre is Horror and she has watched Annabelle and The Conjuring. So, now Lisa would be getting suggestions IT, Us and Get Out which are of same Genre.
Based on the movies liked (Item - Item Collaborative Filtering):
Let’s say Bhoomi has watched Seven and Shutter Island and she has rated both movies 5 out of 5.
The Movie Database consists :
Seven - 5/5
Shutter Island - 5/5
The Prestige - 5/5
Inception - 5/5
Hitman - 2/5
So, according to the movie recommendation system, it uses Collaborative Filtering to get the movies from the database to get the movies which have a good rating and have been rated by a good number of users and then gives the suggestion to Bhoomi with the movies: The Prestige & Inception.

Based on watch history (User - User Collaborative Filtering):
Let’s consider Bhoomi has watched Avenger’s Infinity War and has given a rating of 5. Now, let’s consider Juliet has watched movies Avenger’s Infinity War and Avenger’s Endgame and has rated both the movies very well (5/5). Now, according to the movie recommendation system, it uses Collaborative Filtering to get the movies from the other movies from different user’s with highest correlation and good rating and gives Bhoomi the suggestion to watch Avenger’s Endgame.

Join us in Phase - 3 to build MovieBuddy that would in-turn help us during this Pandemic. Cheers!

Group 4 Details:

  1. Alisha Shahane (asshahan)
  2. Shruti Kangle (sskangle)
  3. Bhoomi Shah (bshah2)
  4. Poorva Kulkarni (pnkulkar)
  5. Rohan Pillai (rspillai)

Original Contributors

  1. Ashish Sadanand Rajpurohit
  2. Jayesh Chandrashekhar Jakkani
  3. Katta Rishabh
  4. Keertikumar Malagund
  5. Sathwik Kalvakuntla

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 75.4%
  • HTML 24.6%