Skip to content

Ankit0225/bingeflix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Binge Flix

BingeFlix is an AI-based web application in which you can search for any Hollywood Movie. This application will provide all the information related to that movie, and the most interesting part, this application will provide you with the top 10 movie/Any TV Series recommendations based on your search. Also, the User can Sort the movie according to the user's needs and requirements.

BingeFlix


This application uses Content-Based Movie Recommendation to recommend movies to the user. TMDB API was used to retrieve all the information related to the movie and its cast. And Recommendation Engine is based on Cosine Similarity based on K Nearest Neighbors Algorithm which is made by Flask and Deployed on Heroku and used to fetch the data from the backend just like an API.

Live Demo

Web Application Link : (https://bingeflix-seven.vercel.app/)

Old Version of API

API Backend Link : (https://bingeflix-backend.herokuapp.com/)

test API

If Upper API Fails then use test api:(https://testing-bingeflix-backend.herokuapp.com/)

New API v2

New Version of API with better Recommendation : (https://sooditk.ml)


Trending Page

Movies


TV Series

TV Series


System Architecture

System Architecture


Click Above to see design


Algorithms Used

  1. K Nearest Neighbors

Working Content-Based Recommendation System

It is a very basic common approach for implementing the recommendation system. In K Nearest Neighbors, we try to find the most similar k number of users as nearest neighbors to a given user, and predict ratings of the user for a given movie according to the information of the selected neighbors. So the algorithm has a lot of variation based on two points. One is how to calculate the distance of each user, and another is how to use or analyze the nearest neighbors to predict the ratings of a given user. I implemented Euclidean Distance and Cosine Similarity as the methods to calculate the distance, and tried various ways of analysis to predict the ratings like taking average, weighted average or the majority among nearest neighbors.


  • Working of Cosine-Similarity:

Cosine Similarity is the measure of calculating the difference of angle between two vectors. Becasue the length of the vector is not matter here, I first normalize each vector to a unit vector, and calculate the inner product of two vectors

Imgur

Features

  • Shows Present Trending Movies and Series
  • Sort movies and TV Series according to User Demands
  • Recommended Similiar Movies when the user clicks on a particular Movie.

Features Currently Under Progress

  • Login
  • Responsive
  • Better User Interface
  • Training the new dataset to replace the tmdb API with bingeflix-backend API

Steps to Run Project On your Local Machine

Clone or Fork this Repository

git clone https://github.com/Ankit0225/bingeflix.git

Run the following command to install the required dependencies.

  • Install the dependencies within the project directory:
npm install
  • Start the Development Server
npm start

TechStack

Frontend :

  • React JS
  • Mantine

API :

  • TMDB
  • BingeFlix Backend

  • Backend Test Demo

BingeFlix Backend Test

Backend :

  • Python
  • Flask
  • scikit-learn

Other Dependencies

  • Axios
  • React icons
  • Jest

The Following Application Performance is been rigorously tested using Code Coverage through Chai and Jest JS

LightHouse Test Performance

Test

Note: The training of 2021 dataset is under process

Resources Used:

Backend

  1. Towards DataScience.com

  2. Towards DataScience.com

  3. Flask API

  4. IMDB 5000 Dataset

  5. Movies Dataset


Frontend

  1. The Movie DataBase Organisation

  2. Mantine.dev