Movie-Recommendation-System
This is the Movie Recommendation System, to get personlized movie recommendations for a movie search.
Description
The project Movie Recommendation System, uses a Content-Based Machine learning recommendation approach to determine movie recommendations based on user search.
Characteristic functionalities
- Realtime search of movie information from IMDB's official data.
- Content-Based recommendeer system for getting recommendations for the searches.
- Full-responsive design of the application.
Tech Stack
- React.js is used for Frontend.
- Flask is used in the backend. The API endpoint for getting the recommmendations is setup with cross-site-origin access.
- Scikit Learn Count-Vectorizer Scikit-Learn's CountVectorizer is used for preperation of the Recomendeer system. The Cosine similarity parameter is used for finding the closest neigbhours. The top 10 movies with closest similarity score are selected.
- Tmdb is used to fetch the attribute information and image data of movies and recommendations in realtime accoriding to official IMDB's records.
- Heroku The application is deployed live on Heroku, using gunicorn static-file web server.
Prototype
Setup Process
For setting up the project on a local machine:
-
Fork this repository.
-
Clone the repository using simple zip download or use the command
git clone https://github.com/Kawaljeet2001/Movie-Recommendation-System
-
Move to the master branch by using command
git checkout master
-
Create a virtual environment for the project
pip install virtualenv for windows: virtualenv -p /usr/bin/python3 env_name for linux(ubuntu): virtualenv env_name
-
Activate the Virtual environment
source env_name/bin/activate
Once the virtual environment is activated, the name of your virtual environment will appear on left side of terminal. This will let you know that the virtual environment is currently active.
-
Install all the dependencies
pip install -r requirements.txt
-
To start the app on the developement server, run the command
python app.py