This is a :movie_camera: movie recommendation system based on collaborative learning (user-user and item-item) which was applied on the IMDB database.The recommendation system asks for ratings on 4 or more movies out of approx. 500 movies and returns 4 recommendations each for User-User and Item-Item collaborative learning algorithms.
- Python 3.5
- Mongo DB
- Beautiful soup
- Collective Intelligence by Toby Segaran
How to Use?
You can find the hosted app here GETFLIX
How to use the app?
At the above link you will see a page with approx. 500 movies.You need to rate any 4(k) or more movies and press submit at the bottom of the page to get your recommendations
you can rate the movies by moving the slider thumb to 5 possible positions from (1 to 5) initially all sliders are at 0th position
You will be presented 4 recommendations each of user-user and item-item collaborative learning.
It is possible that user-user algo doesn’t return 4 movies due to its dependency on the data of user ratings.
for explanation behind the algos and a brief report refer to
Brief description of folder/files in the repo.
The main python3 flask file that contains the main algorithms and logic
how to run
Main template that is returned as the home page
Template that is returned when both algos return answers
Template is returned when user-user algo does not return answer.
contains the css file style.css
It contains all raw data taken from movie lense.
Used for creating mongo db database after data cleaning
Used for scraping thumbnails from dedicated sites of imdb
Used for printing required tags that need to be inserted into HTML file.
bash python3 other/change.py
Used to run using docker commands to run using docker To run the dockerfile:
docker build -t flask-getflix:latest .
To run the app:
docker run flask-getflix
How to access mongoDB collections using mongolab.
The mongoDB collections that I used can be accessed thorough