Skip to content
No description, website, or topics provided.
Python HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
pellicola
.gitignore
LICENSE
README.md
csv_to_sql_helper.py
run.py

README.md

Movie Reccomender

Originally made for my university's Department of Computer Science's course Software, Systems & Applications under the sub-module Web Technologies, as part of the coursework in 2018/2019.

This project aims develop a personalized web application which provides movie reccomendations to users based on a suitable reccomendation algorithm which makes use of user similarities and a movie ratings database.

Description

The website has 3 main sections: Browse, Profile and Recommendations, in addition to Login/out functionality.

  • Browse: presents table of all database movies which user can interact with by submitting ratings.
  • Profile: maintains user profile wherein a table containing movies rated by user is presented. User may amend or delete previous ratings.
  • Recommendations: provides user with movie recommendations via singular value decomposition of all user ratings. Also provides personalized messages based on username and preferred genres (inferred from ratings).

Database is utilized as this was seen as better suited for reading and writing to tables as it is not done in memory.

Pandas and numpy are instead utilized for data manipulation.

Pre-Requisites

This work is made for Python 3.5 and up.

The following packages should be installed:

These can all be installed via pip with pip3 install --user <package_name>. NB underscores should be changed to hyphens when installing.

Usage

  1. In a shell, ensure you are in movie-recommender/.
  2. Enter python3 run.py.
  3. In a browser, navigate to the address shown in the terminal, usually http://127.0.0.1:5000/
  4. The website itself has the rest of the instructions
  5. NB, you need to create an account to access most features.
You can’t perform that action at this time.