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.
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.
Web Application Link : (https://bingeflix-seven.vercel.app/)
API Backend Link : (https://bingeflix-backend.herokuapp.com/)
If Upper API Fails then use test api:(https://testing-bingeflix-backend.herokuapp.com/)
New Version of API with better Recommendation : (https://sooditk.ml)
Click Above to see design
- K Nearest Neighbors
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.
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
- 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.
- Login
- Responsive
- Better User Interface
- Training the new dataset to replace the tmdb API with bingeflix-backend API
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
- React JS
- Mantine
- TMDB
- BingeFlix Backend
- Backend Test Demo
- Python
- Flask
- scikit-learn
- Axios
- React icons
- Jest
The Following Application Performance is been rigorously tested using Code Coverage through Chai and Jest JS
Frontend