Skip to content

ShubhiYadav03/Cinefy-App

Repository files navigation

CINEFY - Movie Recommendation Web App

Microsoft Engage 2022

Banner

Table of contents

Technology Stack

Python FireBase Html Css Javascript Flask

  • Python used in data processing for recommendations.
  • Flask for backend.
  • Firebase was used for the database for sign up and sign in.
  • HTML, CSS and JavaScript for frontend.

Python Framework Frontend API Firebase
(Back to top)

Prerequisites

  • Python
  • TMDB API Key

Navigating Through The App

Sign Up

Register to the application via email and password.

Sign up screen

Sign In

After signing up in, users can now log in using their registered email and password.

Sign in screen

Home

The Home window appers where the users can search for their favourite shows, views movies and TV shows sorted according to their genres.

home

Search

Users can search any movie easily using the search bar with an autocomplete feature and get all the information like genres, release date, overview, etc. about that movie.

search

Movie Information

After searching a movies the page is rendered to view all the information about that movie like genres, release date, overview cast etc.

movie info page

Cast Details

Users can get information about the any cast member by clicking on their respective card.

cast details

cast info

Sentiment Analysis

Users can also find the sentiment anlysis of movie the reviews given by the people who've already watched the movie.

sentiment analysis

Recommendations

Users are also recommended movies of similar kind as their search using content-based filtering.

recommendations

Genre-based sorting

The movies are displayed in various catalogues based on their different genres.

genres

Trending Movies

Users can also find the most-trending movies on the home page.

trending

Logout

Finally users can logout using the logout button in the navbar.

logout


(Back to top)

Installation

To use this project, follow the steps below:

1. Clone this repository.

Initialise git on your terminal.

git init
git clone https://github.com/ShubhiYadav03/Cinefy-App.git

2. Install all the libraries mentioned in the requirements.txt file with the command-

  pip install -r requirements.txt

3. Get the API key

Get your API key from https://www.themoviedb.org/ -Create an account in https://www.themoviedb.org/ -Click on the API link from the left hand sidebar in your account settings and fill all the details to apply for API key. -If you are asked for the website URL, give "NA" if you don't have one. -You will see the API key in your API sidebar once your request is approved.

4. Add the API key

Replace the value of my_api_key with your API key in (line no. 15 and 31) of static/recommend.js file and (line no. 8) of static/api.js and hit save.

Download Dataset

In order to run the preprocessing files download movies_metadata.csv and credits.csv from Kaggle.

5. Start the Server

Open your terminal/command prompt from your project directory and run the file main.py by executing the command-

  python main.py

Go to your browser and type http://127.0.0.1:5000/ in the address bar.
(Back to top)

Recommendations System

Recommendation engines need to know you better to be effective with their suggestion. Therefore, the information they collect and integrate is a critical aspect of the process. This can be information relating to explicit interactions, for example, information about your past activity, your ratings, reviews and other information about your profile, such as gender, age, or investment objectives. These can combine with implicit interactions such as the device you use for access, clicks on a link, location, and dates.

Content-Based filtering

Content-based filtering is a type of recommender system that attempts to guess what a user may like based on that user’s activity.

Content-based filtering makes recommendations by using keywords and attributes assigned to objects in a database (e.g., items in an online marketplace) and matching them to a user profile. The user profile is created based on data derived from a user’s actions, such as purchases, ratings (likes and dislikes), downloads, items searched for on a website and/or placed in a cart, and clicks on product links.

Similarity Score

The system decide which item is most similar to the item user likes through the similarity scores.

It is a numerical value ranges between zero to one which helps to determine how much two items are similar to each other on a scale of zero to one. This similarity score is obtained measuring the similarity between the text details of both of the items. So, similarity score is the measure of similarity between given text details of two items. This can be done by cosine-similarity.

How Cosine Similarity works?

Cosine similarity is a metric used to measure how similar the documents are irrespective of their size. Mathematically, it measures the cosine of the angle between two vectors projected in a multi-dimensional space. The cosine similarity is advantageous because even if the two similar documents are far apart by the Euclidean distance (due to the size of the document), chances are they may still be oriented closer together. The smaller the angle, higher the cosine similarity.

image

More about Cosine Similarity : Understanding the Math behind Cosine Similarity

Sources of the datasets

  1. IMDB 5000 Movie Dataset
  2. The Movies Dataset
  3. List of movies in 2018
  4. List of movies in 2019
  5. List of movies in 2020
    (Back to top)

Useful Links


(Back to top)

Resources

Support and Contact

Feel free to contact me on [email protected]

LinkedIn Twitter
(Back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published