Movix Project Report Final

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Movie Recommendation System App

PROJECT REPORT

SUBMITTED BY

Muskan Verma (2005050100035)

Niket Chaurasia (2005050100037)

Piyush Mishra (2005050100038)


in partial fulfilment for the award of the degree

of

BACHELOR OF TECHNOLOGY
IN

COMPUTER SCIENCE AND ENGINEERING


at

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

ALLENHOUSE INSTITUTE OF TECHNOLOGY

ROOMA, KANPUR, U.P. (INDIA) – 208008

(AFFILIATED TO DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY,

LUCKNOW) (U.P.) (INDIA)


Acknowledgement

The satisfaction and euphoria on the successful completion of


any task would be incomplete without mentioning the people
who made it possible with constant guidance and
encouragement.

We would like to express our heartfelt gratitude to our esteemed


supervisor, Mr. Gaurav Tiwari for his guidance in this project. It
has been our honor to work under his guidance, whose expertise
and discernment were keys in the completion of this project.

We are grateful to the Dept. of Computer Science & Engineering,


for giving us the opportunity to execute this project, which is an
integral part of the curriculum in our college.

This acknowledgement would not be complete without


expressing our sincere gratitude to our parents for their love,
patience, encouragement, and understanding which are the
source of our motivation and inspiration throughout our work.

Muskan Verma
Niket Chaurasia
Piyush Mishra
ABSTRACT

The primary goal of Movie recommendation systems is: With the


exponential growth of digital media consumption, personalized
recommendation systems have become indispensable tools for
navigating vast content libraries. In this paper, we present a
movie recommendation system that employs collaborative
filtering and content-based filtering techniques to suggest
movies tailored to individual user preferences.

Our collaborative filtering algorithm analyzes user-item


interaction data to identify similarities between users and
recommend movies based on the preferences of similar users.
Additionally, our content-based filtering approach utilizes movie
metadata such as genre, cast, and plot summaries to recommend
movies that are similar in content to those the user has
previously enjoyed.

We evaluate the performance of our recommendation system


using standard metrics such as precision, recall, and Mean
Absolute Error (MAE) on a real-world dataset. Experimental
results demonstrate the effectiveness of our approach in
providing accurate and diverse movie recommendations.

Our movie recommendation system offers a scalable and


efficient solution for enhancing user engagement and satisfaction
in digital media platforms, contributing to the advancement of
personalized recommendation technologies.
Table of Contents

● Introduction

● Project Objectives

● System Architecture

● Data Collection and Storage

● Implementation Details

● Backend

● Frontend

● Python Script for Recommendations

● Algorithms Used

● Testing and Validation

● Conclusion

● Future Work
Introduction :-

In the digital age, recommendation systems have become

crucial for helping users discover new content tailored to their

preferences. This project focuses on developing a movie

recommendation system that leverages the MERN stack

(MongoDB, Express.js, React.js, Node.js) combined with

Python to deliver personalized movie suggestions. By

integrating data from The Movie Database (TMDb) and using

sophisticated algorithms, the system aims to enhance user

experience by providing relevant movie recommendations.


Project Objectives
● Develop a robust movie recommendation system: To

suggest movies based on user preferences and viewing

history.

● Backend Implementation: Create a server using Node.js

and Express.js to handle API requests and database

interactions.

● Frontend Development: Build a user-friendly interface

using React.js to display movie recommendations and

details.

● Integration with TMDb: Fetch and store comprehensive

movie data from TMDb API.

● Python for Recommendations: Use Python to implement

advanced recommendation algorithms.


System Architecture

The system architecture is designed to ensure


modularity and separation of concerns:

● Frontend (React.js): Manages user interface and

interactions.

● Backend (Node.js, Express.js): Handles API requests,

business logic, and database interactions.

● Database (MongoDB): Stores movie data and user

preferences.

● Recommendation Engine (Python): Processes data and

generates movie recommendations using various

algorithms.
Modules Description
● User Module: Manages user registration, login, profile

management, and viewing history.

● Movie Module: Manages movie data, including details,

genres, ratings, and search functionality.

● Recommendation Module: Implements the

recommendation algorithm using Python and integrates

with the backend.

● API Module: Handles API endpoints for data retrieval

and manipulation.
Data Collection and Storage
Data Source :-

The movie data is fetched from The Movie Database (TMDb)

API, which includes movie titles, genres, ratings, and

descriptions.

Data Storage :-

The data is stored in a MongoDB database. The database

schema for movies is defined as follows :-


Implementation

1.Frontend : React

Setup React App:

Create Components:

● MovieList: Displays a list of recommended movies.

● MovieDetail: Shows detailed information about a

selected movie.

● SearchBar: Allows users to search for movies.

● UserProfile: Manages user preferences and history.


★ Built with React.js, including components for displaying
movies, movie details, search functionality, and user profile.
2. Backend
Implemented using Node.js and Express.js with endpoints for
fetching movie data and triggering the recommendation
engine.
● server.js -
3. Python Script for Recommendations
Uses TF-IDF vectorizer and cosine similarity to find similar
movies.
● recommendation.py -
Algorithms Used :
TF-IDF Vectorizer: TF-IDF (Term Frequency-Inverse
Document Frequency) measures the importance of words in
movie descriptions by considering how often a word appears
in a document versus its commonality across all documents.
Cosine Similarity: Cosine similarity measures the angle
between two vectors to determine how similar they are, with a
range from -1 (completely dissimilar) to 1 (identical).

Combining TF-IDF and Cosine


Similarity for Recommendations :

● Load Movie Data: Fetch movie descriptions.


● TF-IDF Vectorization: Convert descriptions to vectors.
● Cosine Similarity Calculation: Compute similarity
scores.
● Generate Recommendations: Identify and return
movies with the highest similarity scores.
Conclusion :
Movix effectively provides personalized movie
recommendations by integrating TMDb data and using
advanced recommendation algorithms. The system leverages
the MERN stack (MongoDB, Express.js, React.js, Node.js)
for a robust and scalable architecture, ensuring efficient data
handling and user interactions.

Personalized Recommendations:
Using TF-IDF Vectorizer and Cosine Similarity, Movix
analyzes movie descriptions to identify and suggest movies
that match user preferences. TF-IDF quantifies the
significance of words in movie descriptions, while Cosine
Similarity measures the similarity between these descriptions,
allowing for accurate recommendations.

Robust Architecture:
The backend (Node.js, Express.js) handles API requests and
database interactions, while MongoDB manages movie data
and user preferences. The React.js frontend provides a
responsive user interface for seamless interactions.

TMDb Integration:
TMDb integration offers access to a vast, up-to-date movie
catalog, enhancing the system’s ability to fetch detailed and
current movie information, contributing to a rich user
experience.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy