0% found this document useful (0 votes)
16 views12 pages

Web Tech Assign 2

Uploaded by

Syed Sharashree
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views12 pages

Web Tech Assign 2

Uploaded by

Syed Sharashree
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

IT5501 WEB TECHNOLOGIES

MINI PROJECT
TITLE:
FLICKPICK(movie booking webapp)
TEAM MEMBERS:
SYED SHARAAFETH HASSAN S(2022115103)
VISHAL T(2022115078)
FLICKPICK (movie booking webapp)

1. Introduction
1.1 Project Overview
➢ Flickpick is designed to support users in managing movie bookings
efficiently. It integrates various functionalities such as movie details
retrieval, user ratings, and showtime management, all within a unified
platform. The primary aim of this project is to offer a comprehensive
solution for movie enthusiasts, theater owners, and administrators to
streamline their booking and management processes.

➢ By incorporating features like fetching movie details, managing user


ratings, and handling showtimes, the backend provides an all-in-one tool
for users to organize, access, and review movie-related information. The
system supports users in staying on top of their movie schedules and
preferences, offering them a convenient way to manage all aspects of
their movie-going experience.

➢ Technologies used in the project include Java, PostgreSQL for database


management, and Jakarta Servlet for handling HTTP requests. These
technologies help ensure a smooth and engaging user experience while
maintaining reliability and efficiency.

1.2 Scope of the Project


The Flickpick web application is designed to manage movie-related content and
tasks, offering functionalities that support movie details retrieval, user ratings,
and showtime management.
1. Movie Details Management:
• Movie Information: Users can retrieve detailed information about
movies, including name, genre, director, actors, and more.
• User Ratings: Users can rate movies, and the system calculates
average ratings for each movie.
2. Showtime Management:
• Showtimes: The system manages showtimes for different movies
across various theaters and screens.
• Theater and Screen Management: The system handles
information about theaters and screens, including seating
arrangements.

2. System Architecture and Design


2.1 Architecture Overview
The Flickpick application follows a modular architecture, ensuring scalability,
ease of maintenance, and efficient management of different functionalities.
The architecture can be divided into three key components: User Interface (UI),
Backend Services, and Database. These components interact seamlessly to
provide users with a smooth experience for managing movie-related content
and tasks.
1. User Interface (UI):
• The UI is built using Java Servlets, ensuring a responsive and
intuitive design for easy navigation.
• Each feature (movie details, ratings, showtimes) is implemented
within distinct servlets.

2. Backend Services:
• The backend is powered by PostgreSQL, which handles data storage
and retrieval for movies, ratings, and showtimes.
• The system uses JDBC for database connectivity and operations.

3. Database:
• The database schema includes tables for Movies, Ratings, Users,
ShowTimes, Theaters, Screens, and more.
• Relationships between tables are defined using foreign keys to
ensure data integrity.
2.2 Design Patterns
The Flickpick application utilizes key design patterns to ensure scalability,
maintainability, and separation of concerns:
Model-View-Controller (MVC) Pattern:
• This pattern divides the app into three components: Model (handles
data and business logic), View (handles user interface), and Controller
(coordinates interactions between model and view). This separation
makes the app more modular and maintainable.
Singleton & Observer Patterns:
• The Singleton pattern ensures that there is only one instance of
services like database connections, maintaining consistency
throughout the app.
• The Observer pattern enables automatic updates to the UI when data
changes, such as syncing movie details or ratings from the database.

3. Functionalities of the Application


The Flickpick application incorporates a variety of features designed to enhance
user productivity and streamline the management of movie-related content.
Below are the core functionalities of the application:

3.1 Movie Details Management


1. Movie Information Retrieval:
• Users can retrieve detailed information about movies, including
name, genre, director, actors, language, country, release date,
duration, and trailer URL. This functionality allows users to access
comprehensive movie details for better decision-making.
2. User Ratings:
• The system allows users to rate movies, and it calculates the average
rating for each movie. This functionality helps users see the overall
reception of a movie based on user feedback.
3.2 Showtime Management
Showtimes:
• The application manages showtimes for different movies across
various theaters and screens. Users can view available showtimes and
plan their movie-going experience accordingly.
Theater and Screen Management:
• The system handles information about theaters and screens,
including seating arrangements and screen details. This functionality
ensures that users have accurate information about where and when
movies are being shown.

SERVLETS:
• GetMovieDetailsServlet: Fetches details of a specific movie by name
and returns them in JSON format.
• MovieServlet: Retrieves a list of movies available in a specified city
along with average ratings in JSON format.
• GetTopRatingsServlet: Fetches the average rating and top 10 reviews
for a movie by its ID in JSON format.
• AddRatingServlet: Allows users to submit ratings and reviews for a
movie, returning a success or error message.
• GetShowTimesServlet: Retrieves showtimes for a specific movie in a
city, returning details in JSON format.
• AddShowTimeServlet: Allows administrators to add showtimes for a
movie, returning a success or error message.
• GetTheatersServlet: Retrieves a list of theaters in a city, returning
details in JSON format.
• AddTheaterServlet: Allows administrators to add a new theater,
returning a success or error message.
• GetScreensServlet: Retrieves a list of screens in a specific theater,
returning details in JSON format.
• AddScreenServlet: Allows administrators to add a screen to a theater,
returning a success or error message.
• GetSeatsServlet: Retrieves a list of seats in a specific screen,
returning details in JSON format.
• AddSeatServlet: Allows administrators to add seats to a screen,
returning a success or error message.
• BookTicketServlet: Allows users to book tickets for a showtime,
returning a success or error message.
• GetBookedSeatsServlet: Retrieves a list of booked seats for a specific
showtime in JSON format.

CODE:
OUTPUT:
4. Technologies and Tools Used
The Flickpick application incorporates key technologies and tools for an
efficient user experience.
Programming Languages and Frameworks:
• Java: Used for backend development.
• Jakarta Servlet: For handling HTTP requests and responses.
• React: Used for building the dynamic and responsive user interface
(frontend).
Database Management:
• PostgreSQL: Utilized for database management and storage of movie-
related data.
Development Tools:
• IntelliJ IDEA: The primary IDE for development.
• GitHub: For version control and collaboration.
5. Challenges Faced and Solutions
• While developing the Flickpick application, several challenges were
encountered, and solutions were implemented to overcome them.

5.1 Handling Complex Queries


• Challenge: Integrating complex SQL queries to fetch movie details,
ratings, and showtimes without performance issues.
• Solution: The application leverages optimized SQL queries and
indexes to ensure efficient data retrieval. The design ensures that
queries are processed and executed without causing delays or
performance bottlenecks.

5.2 Ensuring Data Consistency


• Challenge: Maintaining data consistency across multiple tables
and relationships.
• Solution: The application uses foreign keys and constraints in the
PostgreSQL database to ensure data integrity. Transactions are
used to handle multiple operations atomically, preventing data
inconsistencies.

5.3 User Interface Design for Multiple Features


• Challenge: Designing a user-friendly interface that could handle
diverse functionalities like movie details retrieval, ratings, and
showtime management. Solution: A clean, modular design was
adopted with intuitive navigation between different features.
Using Java Servlets and JSP, the UI was optimized for ease of use
and responsiveness.
6. Conclusion
• The Flickpick application integrates a variety of tools aimed at enhancing
the movie-going experience. By combining features such as movie details
retrieval, user ratings, and showtime management, the backend offers a
comprehensive platform for managing movie-related content and staying
organized. PostgreSQL enables efficient data storage and retrieval, while
the modular architecture ensures scalability and maintainability.
• Throughout the development, challenges such as handling complex
queries, ensuring data consistency, and UI design were efficiently
addressed with solutions like optimized SQL queries, foreign keys, and a
clean modular design. The final product is a robust and reliable
application that fulfills its core objective of providing a versatile platform
for managing movie bookings. The Flickpick serves as an effective
solution for movie enthusiasts, theater owners, and administrators,
offering an organized and flexible way to manage and engage with
movie-related content.

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