Movie Recommendation System ML React Flask

A Flask, React and Machine Learning based web application for movie recommendation and sentiment analysis on movie reviews.

AI & Machine LearningJupyter NotebookGPL-3.0

Abstract

Movie Recommendation System ML React Flask is an open-source AI & Machine Learning project. A Flask, React and Machine Learning based web application for movie recommendation and sentiment analysis on movie reviews. KVG Movie Zone 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, does sentiment analysis on the movie reviews and the most interesting part, this application will provide you the top 10 movie recommendations based on your search. It is built using Jupyter Notebook, Machine Learning, React, Flask, Docker. The complete source code is publicly available on GitHub under the GNU General Public License v3.0, making it a useful reference for students building an AI & Machine Learning mini project or final-year project.

1. Introduction

KVG Movie Zone 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, does sentiment analysis on the movie reviews and the most interesting part, this application will provide you the top 10 movie recommendations based on your search.

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. Web Scraping was done on IMDB website to get the reviews related to the searched movie. Sentiments analysis is done using a machine learning model trained on a sample of IMDB Dataset.

ReactJS was used for frontend which was deployed using firebase hosting and a Flask API was deployed using Docker container on Heroku to serve the machine learning models to the Frontend.

2. Objective

A Flask, React and Machine Learning based web application for movie recommendation and sentiment analysis on movie reviews.

This project demonstrates how Jupyter Notebook, Machine Learning, React can be applied to a real-world AI & Machine Learning problem.

4. Technology Stack

Jupyter NotebookMachine LearningReactFlaskDocker

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later with Jupyter Notebook / JupyterLab (or Google Colab)
  • pip for dependencies
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/venugopalkadamba/Movie-Recommendation-System-ML-React-Flask.git
cd Movie-Recommendation-System-ML-React-Flask
  1. Clone or download the repository in your local machine.
  2. Open command prompt in the following folder FRONTEND/kvg-mrs
  3. Install all the npm packages
  4. Since the Flask API is already deployed on Heroku no need to run the Flask API in your local machine to start the React frontend. You can start the react application using the following command:
  5. Clone or download the repository and open command prompt in API folder.
  6. Create a virtual environemt
  7. Install all the dependencies
  8. Run the app.py file
npm install
npm start
mkvirtualenv environment_name
pip install -r requirements.txt

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Deploy the model as a web app with Streamlit, Flask or FastAPI
  • Compare against an additional model and report the metric difference
  • Add explainability (SHAP / Grad-CAM)

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. What dataset does the project use and how was it pre-processed?
  2. Which algorithm / model architecture is used and why was it chosen over alternatives?
  3. How are training and testing data split, and how is overfitting avoided?
  4. Which evaluation metrics (accuracy, precision, recall, F1) are reported and what do they mean here?
  5. How would you deploy this model for real users?

9. Source Code & License

This project is developed by venugopalkadamba and published on GitHub under the GNU General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an AI & Machine Learning project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for AI & Machine Learning Internship