MovieGuide Report
MovieGuide Report
ON
“Movie-Guide App”
SUBMITTED BY
AKURDI, PUNE-411044
Page | 1
Acknowledgement
I would take the opportunity to thank Dr. K. Nirmala, Director, DYPIMCA and
I would like to thank Dr. Kavita Suryawanshi, Vice Principal, for her scholarly disposition,
I would like to thank Mrs. Yogeshwari Yawalkar for her kind guidance, keen interest,
Finally, I gratefully thank all the faculty members of DYPIMCA and Management for their
I also thankful to get constant encouragement, support and guidance from all Teaching and
Non- Teaching Staff for their timely support which helped us in successfully completion of
Student Sign:
Student Name: Omkar Latambale
MCA I
Div- A
Page | 2
Dr. D. Y. Patil Pratishthan’s
D. Y. Patil Institute of Master of Computer Applications and Management
(M.C.A. Programme)
(Approved by AICTE, New Delhi & Affiliated to Savitribai Phule Pune University)
Dr. D. Y. Patil Educational Complex, Sector 29, Pradhikaran, Akurdi, Pune – 411 044Tel No:
(020)27640998, Website: www.dypimca.ac.in, E-mail : director@dypimca.ac.
1 Chapter 1: Introduction 4
1.1 Project Objectives 5
Index
Page | 3
Chapter 1: INTRODUCTION
Page | 4
1.1 Project Objectives-
Page | 5
1.2 Existing System and Need of System
Existing System:
Users struggle to find a single platform that offers trending movie recommendations,
detailed information, and personalization.
Difficulty in keeping track of movies users want to watch or have already watched.
Limited ability to share or read reviews, reducing the decision-making support for
users.
Cluttered interfaces in existing systems often hinder user navigation and satisfaction.
Lack of seamless integration of features like watchlists and reviews in one app.
Users face difficulty discovering new movies based on their interests or current trends.
Need of System:
Introduce a watchlist feature to help users manage their movie preferences and track
progress.
Enable a user-friendly review system for sharing opinions and reading community
feedback.
Design a clean and intuitive interface to enhance navigation and overall user experience.
Use algorithms or curated lists to recommend movies based on user interests and global
trends.
Page | 6
1.3 Scope of Work:
Page | 7
1.4 Operating Environment-Hardware and Software:
Hardware Requirements:
Processor: Intel i3 5th Generation and above
Hard Disk: 25 GB Minimum
RAM: 4 GB Minimum
Software Requirements:
Operating System: Windows 7 or above
Front-End: XML
Back-End: Java
Database: SQLite
Handles user authentication, registration, and profile management with options for
login/logout, profile customization, and secure session handling.
Stores user details in a dedicated database table with fields like username, email, password
hash, and optional profile picture.
Integrates personalization for user-specific features like watchlists, favorites, and reviews.
2. Search Module:
Enables users to search for movies using a search bar with real-time suggestions and filters
like genre, rating, and year.
Fetches results dynamically from an API (e.g., IMDb or TMDb) or uses cached results for
performance optimization.
Displays search results in a grid or list format with pagination for better usability.
3. Watchlist Module:
Allows users to save movies for later viewing by adding or removing them from their
personalized watchlist.
Stores watchlist entries in a table linking users to movie IDs with timestamps for when they
were added.
Provides an easy way for users to view and manage their saved movies.
4. Favourites Module:
Enables users to mark movies as favourites and store this information for easy access later.
Tracks favourites in a database table associating users with their selected movies.
Includes a feature to display all favourite movies in one view.
Displays detailed information about a movie, including title, description, cast, release date,
and rating. Fetches data from the IMDb API or similar services and caches it locally for faster
subsequent access.
Supports navigation to related features like reviews, watchlist, and favorites from the movie
detail view.
Page | 9
Allows users to rate movies on a predefined scale (e.g., 1-10) and stores this data in the
database.
Calculates and displays an average user rating on the movie detail page.
Integrates ratings with reviews to provide a comprehensive user feedback system for movies.
Page | 10
Chapter 2: Analysis & Design:
Page | 11
2.2 Entity Relationship Diagram:
Page | 12
2.3 Use Case Diagram:
Page | 13
2.4 Activity Diagram:
Page | 14
2.5 Sequence Diagram:
Page | 15
2.6 Class Diagram:
Page | 16
2.7 User Interface Screens:
Login, Register:
Page | 17
Explore Page, Details:
Favorites, Watchlist:
Page | 18
Details, About:
Page | 19
Profile, Delete Account:
Page | 20
2.8 Table Structure
Page | 21
1. Movies Table
Column
Data Type Description Constraint
Name
Unique
PRIMARY KEY,
movie_id INT identifier for
AUTO_INCREMENT
each movie.
title VARCHAR(255) Movie title. NOT NULL
Movie release
release_date DATE NULLABLE
date.
Average rating
CHECK (rating
rating DECIMAL(3, 2) of the movie (0
BETWEEN 0 AND 10)
to 10).
2. Users Table
3. Watchlist Table
Page | 22
Column Data
Description Constraint
Name Type
Unique identifier for PRIMARY KEY,
watchlist_id INT
each watchlist entry. AUTO_INCREMENT
Identifier for the
FOREIGN KEY REFERENCES
user_id INT user who owns the
Users(user_id)
list.
Identifier for the
FOREIGN KEY REFERENCES
movie_id INT movie in the
Movies(movie_id)
watchlist.
4. Reviews Table
Column
Data Type Description Constraint
Name
Unique identifier
PRIMARY KEY,
review_id INT
for each review.AUTO_INCREMENT
Identifier for the
FOREIGN KEY
user_id INT user who REFERENCES
reviewed. Users(user_id)
FOREIGN KEY
Identifier for the
movie_id INT REFERENCES
reviewed movie.
Movies(movie_id)
DECIMAL(3, Rating given by CHECK (rating BETWEEN
rating
2) the user (0 to 10). 0 AND 10)
Page | 23
Column
Data Type Description Constraint
Name
Unique
PRIMARY KEY,
search_id INT identifier for
AUTO_INCREMENT
each search.
Search
keywords
search_query VARCHAR(255) NOT NULL
entered by the
user.
Page | 24
2.10 Test Case And Test Plan:
Objective
The objective of this testing plan is to ensure that the Movie-Guide app meets functional and
non-functional requirements. It focuses on validating features like searching movies,
managing watchlists, viewing trending/popular movies, and handling user reviews and
ratings.
Scope
In Scope:
Out of Scope:
Testing Phases
1. Unit Testing:
2. Integration Testing:
Page | 25
3. System Testing:
4. Acceptance Testing:
Functional Testing
1. Verify that users can register, log in, and log out successfully.
Non-Functional Testing
1. Performance Testing:
o Measure the app's response time when retrieving a list of trending movies.
2. Usability Testing:
3. Compatibility Testing:
4. Security Testing:
Page | 26
Unit Test Plan
Strategy
2. Automate testing for repetitive tasks like login and movie search using tools like
Espresso.
Page | 27
Acceptance Test Plan
Objective: Validate that the Movie-Guide app meets all specified requirements.
Acceptance Criteria:
o Reviews and ratings are functional and linked to the correct movie.
AT-04 Submit a review and rating for a movie Review and rating saved
Page | 28
3. Drawbacks and Limitations:
Internet Dependency: The app requires a stable internet connection to fetch trending
movies and details.
Platform Limitation: The app is currently available only for Android, limiting access for
iOS or web users.
Limited Personalization: The app offers basic recommendations and does not include
advanced personalized suggestions.
External Data Reliance: Movie details and trending information depend on third-party
APIs, which may not always be accurate or up-to-date.
Scalability: As user data increases, performance may slow down without additional
optimization and resources.
User Engagement: The success of features like reviews and ratings depends on active user
participation, which may be limited.
Page | 29
4. Proposed Enhancement:
3. Social Integration: Add social media sharing options so users can share their
reviews, watchlists, or movie recommendations with friends and followers.
4. User Rating System Improvement: Enhance the review and rating system by
allowing users to rate specific aspects of a movie (e.g., acting, direction, visuals) for
more detailed feedback.
Page | 30
5.Conclusion:
Page | 31
6. Bibliography:
Books:
Websites:
o https://www.w3schools.blog/android-tutorial
o https://www.geeksforgeeks.org/android-tutorial/
o https://www.youtube.com/
Page | 32
Sample code:
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<meta charset="UTF-8">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css"
rel="stylesheet">
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<!--Body start-->
<div class="container-fluid">
<div class="login">
<h1> DharmaReservations</h1>
<fieldset>
Page | 33
<div class="input-icon">
</div>
<h2>Login </h2>
<div class="input-icons">
</div>
</fieldset>
</form>
</div>
</div>
</body>
</html>
Page | 34