SAPTHAGIRI NPS UNIVERSITY
#14/5, Chikkasandra, Hesaraghatta Main Road, Bengaluru-560057
Mini Project Report on
MOVIE RECOMMENDER
Project carried out by
Name SRN
Rakesh Tawargeri. 24SUUBECS1662
Ranganath DM. 24SUUBECS1691
Ranganath TG. 24SUUBECS1692
Ranjan Kumar HS. 24SUUBECS1693
Ramya S. 24SUUBECS1686
Under the supervision of
Name : Mrs. Shweta
Designation: Assistent Professor
Department: CSE-GENERAL
SCHOOL OF ENGINEERING
SAPTHGIRI NPS UNIVERSITY
BENGALURU
2024-25 (EVEN SEM)
MOVIE RECOMMENDER
DEPARTMENT OF Computer Science and Engineering
SAPTAGIRI NPS UNIVERSITY
CERTIFICATE
This is to certify that the Mini Project Report entitled Movie Recommender submitted
by
RAKESH_TAWARGERI(24SUUBECS1662),RANGANATH_DM(24SUUBECS169
1),RANGANATH_TG(24SUUBECS1692),RANJAN_KUMAR_HS(24SUUBECS169
3), RAMYA_S(24SUUBECS1693) of COMPUTER SCIENCE ENGINEERING
,SAPTAGIRI NPS UNIVERSITY , in partial fulfilment of the requirements for the
completion of the Mini Project in the 1st YEAR 2nd SEMESTER is a bona fide record
of work carried out under our supervision.
Director name
Guide Name
CSE-GENERAL Designation
Project Guide
SNPSU
Designation
Dept 2
SNPSU
MOVIE RECOMMENDER
ABSTRACT
This mini project presents a simple rule-based Movie Recommender System
implemented in Python. The objective of the system is to provide movie suggestions
based on user-defined criteria such as maximum duration, movie category (genre), and
language. A predefined list of movies is used as the dataset, with each entry containing
the title, duration, category, and language.
The recommendation logic filters movies by checking if they match the input criteria
provided by the user. The program allows users to input any combination of filters —
duration, category, or language — or skip them to receive broader recommendations. It
employs basic control structures and string manipulation techniques to perform case-
insensitive comparisons and ensures the system remains user-friendly and flexible.
This project serves as a beginner-level introduction to the concept of recommendation
systems, input handling, and list filtering in Python. Though it does not use machine
learning, it effectively demonstrates how logic-based filtering can offer relevant
suggestions, making it a foundational step towards more complex, data-driven
recommendation models.
CSE-GENERAL
3
MOVIE RECOMMENDER
TABLE OF CONTENTS
1: Introduction 6
2: Hardware and Software Requirements 8
3. Design and implementation
4: codes 9
5: Results and Discussion 10
6: Screenshots 12
7: Conclusion
8: References 14
CSE-GENERAL
4
MOVIE RECOMMENDER
1: Introduction
With the rise in digital content and streaming platforms, choosing a movie has become
overwhelming for many users. This mini project aims to solve that by offering a simple
Python-based movie recommender system. It allows users to filter movies based on
duration, category (genre), and language. This beginner-friendly project illustrates basic
Python programming concepts like lists, dictionaries, conditional logic, and user input.
CSE-GENERAL
5
MOVIE RECOMMENDER
2: Hardware and Software Requirements
Software:
Operating System: Windows/Linux/macOS
Python 3.6 or above
Any Python IDE (e.g., VS Code, PyCharm, IDLE)
Optional: Command Line or Terminal for running scripts
CSE-GENERAL
6
MOVIE RECOMMENDER
3:Design and Implementation
The system uses a hardcoded list of movies, each defined by a dictionary with keys like
title, duration, category, and language. The core function recommend_movies() checks
which movies match the user's input and returns matching titles.
The design is modular and accepts:
duration: Maximum movie duration in minutes
category: Movie genre (like drama, action, thriller)
language: Movie language (like Kannada, Telugu, English)
If no filter is applied (i.e., left blank), it considers all movies.
CSE-GENERAL
7
MOVIE RECOMMENDER
4. Code
python:-
movies = [
{"title": "Katera", "duration": 130, "category": "action", "language": "kannada"},
{"title": "UI", "duration": 130, "category": "thriller", "language": "kannada"},
{"title": "Robert", "duration": 130, "category": "action", "language": "kannada"},
{"title": "Kranti", "duration": 130, "category": "drama", "language": "kannada"},
{"title": "Swamy", "duration": 130, "category": "drama", "language": "kannada"},
{"title": "Kariya", "duration": 130, "category": "action", "language": "kannada"},
{"title": "Kushi", "duration": 130, "category": "drama", "language": "telugu"},
{"title": "Magili", "duration": 130, "category": "drama", "language": "telugu"},
{"title": "Salar", "duration": 130, "category": "action", "language": "telugu"},
{"title": "Pushpa", "duration": 130, "category": "action", "language": "telugu"},
{"title": "Romeo and Juliet", "duration": 130, "category": "drama", "language":
"english"},
{"title": "The Pursuit of Happiness", "duration": 130, "category": "thriller",
"language": "english"},
{"title": "Lift", "duration": 130, "category": "action", "language": "english"},
{"title": "Dangal", "duration": 161, "category": "drama", "language": "hindi"},
{"title": "PK", "duration": 153, "category": "comedy", "language": "hindi"},
{"title": "Baahubali", "duration": 159, "category": "action", "language": "telugu"},
{"title": "3 Idiots", "duration": 170, "category": "comedy", "language": "hindi"},
{"title": "Parasite", "duration": 132, "category": "thriller", "language": "korean"},
CSE-GENERAL
8
MOVIE RECOMMENDER
{"title": "Train to Busan", "duration": 118, "category": "action", "language":
"korean"},
{"title": "Spirited Away", "duration": 125, "category": "fantasy", "language":
"japanese"},
{"title": "Your Name", "duration": 106, "category": "romance", "language":
"japanese"},
def recommend_movies(duration=None, category=None, language=None):
recommendations = []
for movie in movies:
if (duration is None or movie["duration"] <= duration) and \
(category is None or movie["category"].lower() == [Link]()) and \
(language is None or movie["language"].lower() == [Link]()):
[Link](movie["title"])
return recommendations if recommendations else ["No movies found matching the
criteria"]
# Input section
try:
duration_input = input("Enter max duration (minutes) or leave blank: ")
duration = int(duration_input) if duration_input.strip() else None
except ValueError:
CSE-GENERAL
9
MOVIE RECOMMENDER
duration = None
category = input("Enter movie category (e.g. drama, thriller, action) or leave blank:
").strip() or None
language = input("Enter language (e.g. kannada, english, telugu) or leave blank: ").strip()
or None
# Call function
recommended_movies = recommend_movies(duration, category, language)
# Output section
print("\nRecommended movies:")
for movie in recommended_movies:
print(movie)
5: Results and Discussion
CSE-GENERAL
10
MOVIE RECOMMENDER
When the program runs, it prompts the user for inputs. Based on these, the movie list is
filtered. For example:
If the user inputs duration=130, category='action', language='kannada', it returns Kannada
action movies.
If no match is found, it shows: "No movies found matching the criteria".
This shows how simple logic can be used for content filtering. For real-world use, this
can be expanded with databases or APIs.
6: Screenshots
CSE-GENERAL
11
MOVIE RECOMMENDER
Sample Screenshot
yaml
Copy code
Enter max duration (minutes) or leave blank: 130
Enter movie category (e.g. drama, thriller, action) or leave blank: action
Enter language (e.g. kannada, english, telugu) or leave blank: kannada
Recommended movies:
Katera
Robert
Kariya
CSE-GENERAL
12
MOVIE RECOMMENDER
7: Conclusion
The Movie Recommender System is a basic but effective example of how Python can be
used to process data and provide personalized results. It is beginner-friendly and
introduces key programming concepts. Future improvements may include:
GUI interface
CSE-GENERAL
13
MOVIE RECOMMENDER
Integration with real-time movie databases
Machine learning for personalized recommendations
8: References
Python Official Documentation – [Link]
GeeksforGeeks – [Link]
Stack Overflow – [Link]
W3Schools Python – [Link]
Canva – [Link]
CSE-GENERAL
14
MOVIE RECOMMENDER
Final Result website link – [Link]
recommendations-based-on-criteria
CSE-GENERAL
15