A movie-recommendation website built using python django framework.
- Git
- Python (version 3 or above)
$ git clone https://github.com/Vaishnavi23022003/Cinematic.git
$ cd Cinematic
Create a virtual environment to install dependencies in:
$ python -mvenv env
if above command does not work due to difference in python versions try:
$ pip install virtaulenv
$ virtualenv env
Activate the virtual environment
$ env/scripts/activate
if above command does not work due to difference in python versions try:
$ source env/bin/activate
if it still doesn't work then find the activate file in env folder and use it's path
Then install the dependencies:
(env)$ pip install -r requirements.txt
if above command does not work due to difference in python versions try:
use py -m pip install
in place of pip install
Note the (env)
in front of the prompt.
This indicates that this terminal session operates in a virtual environment set up.
Once pip
has finished downloading the dependencies:
(env)$ pip install django
(env)$ django-admin startproject temp
A temp folder will be created -> we only need this for django SECRET_KEY
.
Go to temp/temp/settings.py
and copy the value of SECRET_KEY
.
Now got to ../../Cinematic/settings.py
and replace the value of SECRET_KEY
with the copied one.
Also change <db_user_name>
with the name of postgresql database and <db_password>
with password of postgresql database.
Now:
(env)$ python manage.py runserver
And navigate to http://127.0.0.1:8000
- Recommendation : When a user logins to the website, the following happens:
- if the user has rated more than 20 movies
- the app recommends movie using user based collborative filtering
- else
- the app recommends movie using popularity based filtering
- the app recommends movie using popularity based filtering
- Search : In the home page the user can search movies and movies with similar names will appear.
- Movie : When user clicks on a movie it loads the page for that movie which contains details ragarding that movie.
- Similar Movies : The movie page also contains movies similar to the selected movie based on genre using content based filtering
- Trailer : When user clicks on the trailer button the app plays the trailer of that movie.
- Watch Again : A lot of times users like to watch movies again. So the app also has a Watch Again section
where the movies are displayed in a sorted order on the basis of the rating given by the user in reverse order.
The authentication page.
The home page -> contains reccomendations
The Movie page
On pressing the trailer button, the trailer of the movie is played
Similar Movies Section
Watch Again Section
To see how worked I on the initial dataset visit this Link.