0% found this document useful (0 votes)
5 views31 pages

Final

The document is a project report on a Movie Ticket Booking Management system created by a student at St. Patrick Higher Secondary School for their Grade 12 Computer Science course. It outlines the system's objectives, requirements, features, and includes a detailed explanation of the code structure and user manual. The project aims to enhance user experience, optimize resource utilization, and improve customer satisfaction through a user-friendly interface and secure online payments.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views31 pages

Final

The document is a project report on a Movie Ticket Booking Management system created by a student at St. Patrick Higher Secondary School for their Grade 12 Computer Science course. It outlines the system's objectives, requirements, features, and includes a detailed explanation of the code structure and user manual. The project aims to enhance user experience, optimize resource utilization, and improve customer satisfaction through a user-friendly interface and secure online payments.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 31

ST.

PATRICK HIGHER
SECONDARY SCHOOL
PUDUCHERRY-605005

Project Report On
MOVIE TICKET BOOKING MANAGEMENT

Submitted in Partial Fulfillment of the Requirements for


Central Board of Secondary Education (CBSE)
Grade12
COMPUTER SCIENCE

Submitted By
SIVASHRIVIGNESH. S
Class: 12 - D
Roll No: 12327
Reg.No.:

Guided By
Mr. S. RAJENDREN
Subject Teacher
Academic Year:2024-2025

CERTIFICATE
This is to certify that the project titled “MOVIE TICKET BOOKING
MANAGEMENT” is a bonafide work carried out by SIVASHRIVIGNESH. S, a
student of Class 12-D at St. Patrick Higher Secondary School, for the subject
COMPUTER SCIENCE during the academic year 2024-2025.
The project has been completed under my guidance and supervision
in accordance with the requirements of the Central Board of
Secondary Education (CBSE).

INTERNAL EXTERNAL
EXAMINER EXAMINER

PRINCIPAL

DATE:
SCHOOL STAMP
ACKNOWLEDGEMENT
I would like to express my heart felt gratitude to all those who have provided
guidance, support and assistance in completing this project. Firstly, I extend
my sincere thanks to our respected Correspondent, Mr. Regis Fredrick. R,
Principal, Mrs. Stella Pauline Punitha. J, of St.Patrick Higher Secondary
school, for providing this opportunity and a supportive environment to
undertake this project. Their leadership and encouragement have been a
source of inspiration throughout my academic journey.
I am deeply grateful to my subject teacher, Mr. S. RAJENDREN, for their
invaluable guidance, encouragement, and constructive feedback throughout
the course of this project. Their insights and expertise have been crucial in
shaping the direction and outcome of my work.
I also want to acknowledge my family and friends for their unwavering
support and encouragement, especially during challenging times.
Lastly, I am thankful to all others who, directly or indirectly, have
contributed to the successful completion of this project.
Thank you all for your support and encouragement.

INDEX
S.NO CONTENTS
1. INTRODUCTION
2. OBJECTIVE
3. SYSTEM
REQUIREMENTS
4. DETAILED
EXPLANATION OF
CODE
5. CODE STRUCTURE
OVERVIEW
6. USER MANUAL
7. FUTURE
ENHANCEMENTS
8. EXECUTION
OUTPUT
1.INRODUCTION
The Movie Ticket Booking System is a comprehensive software
application designed to streamline the process of booking movie
tickets. It provides a user-friendly interface that allows users to easily
select movies, choose showtimes, select seats, and make secure
online payments. The system is designed to cater to a wide range of
users, from casual moviegoers to frequent cinema enthusiasts.
Key Features:

 User-Friendly Interface: A simple and intuitive interface that is


easy to navigate.
 Real-time Seat Availability: Accurate and up-to-date seat
availability information.
 Secure Online Payments: Safe and secure payment options.
 Mobile-Friendly: Accessible on various devices, including
smartphones and tablets.
 Personalized Recommendations: Tailored movie suggestions
based on user preferences.
 Admin Dashboard: Robust administrative tools to manage
movies, showtimes, and user accounts.

2.OBJECTIVE
The primary objectives of this movie ticket booking system are:
a. Enhance User Experience: To provide a seamless and
enjoyable user experience by simplifying the booking
process.
b. Optimize Resource Utilization: To efficiently manage theater
resources, including screens and seats.
c. Increase Revenue: To maximize revenue through effective
ticket sales and promotional strategies.
d. Improve Customer Satisfaction: To meet and exceed
customer expectations by providing excellent service.
e. Enhance Security: To protect user data and prevent
fraudulent activities.
f. Scalability: To accommodate future growth and increasing
user demand.
g. By achieving these objectives, the system aims to
revolutionize the way movie tickets are booked, providing a
convenient and efficient solution for both users and theater
owners.

3. SYSTEM REQUIREMENTS
Hardware Requirements:

a. Server:
b. Processor: Intel Core i7 or equivalent
c. RAM: 16GB or more
d. Storage: SSD with at least 500GB
e. Operating System: Linux (Ubuntu, CentOS, or
Debian) or Windows Server
Database Server:
f. Processor: Intel Core i5 or equivalent
g. RAM: 8GB or more
h. Storage: SSD with at least 250GB
i. Operating System: Linux (Ubuntu, CentOS, or
Debian) Network:
j. High-speed internet connection with reliable
bandwidth.
k. Network infrastructure to support multiple users and
devices. Software Requirements:
 Programming Language: Python
 Web Framework: Django or Flask
 Database: MySQL, PostgreSQL, or MongoDB
 Web Server: Apache HTTP Server or Nginx
 Application Server: Gunicorn or uWSGI
 Front-end Technologies: HTML, CSS, JavaScript
 Version Control: GitCloud Platform: AWS, GCP, or Azure
(optional) Security Requirements:
 Strong Password Policies: Enforce strong password policies,
including password length, complexity, and regular changes.
 Data Encryption: Encrypt sensitive data, such as user
passwords and payment information.
 Secure Communication: Use HTTPS to encrypt
communication between the client and server.
 Regular Security Audits: Conduct regular security audits and
vulnerability assessments.
 Firewall and Intrusion Detection Systems: Implement firewalls
and intrusion detection systems to protect against unauthorized
access.
 Input Validation and Sanitization: Validate and sanitize user
input to prevent injection attacks.
Performance Requirements:

 Response Time: The system should have a fast response time,


especially during peak hours.
 Scalability: The system should be able to handle increasing
user load and data volume.
 Reliability: The system should be highly available and fault-
tolerant.
User Interface Requirements:

 User-Friendly Design: The user interface should be intuitive


and easy to navigate.
 Clear and Concise Information: Information should be
presented in a clear and concise manner.
 Responsive Design: The system should be accessible on
various devices, including desktops, tablets, and smartphones.
 Error Handling: The system should provide clear error
messages and guidance to users.
By meeting these requirements, the movie ticket booking
system can provide a seamless and efficient user experience
while ensuring data security and system reliability.
4. DETAILED EXPLANATION
OF CODE
movies = ["Movie 1", "Movie 2", "Movie 3"] screens = ["Screen
1", "Screen 2", "Screen 3"] timings = ["10.00-1.00", "1.10-4.10",
"4.20-7.20", "7.30-10.30"] bookings = [] users = {"admin":
{"password": "admin123", "is_admin": True}} def
select_movie():

print("Which movie do you want to watch?")


for i, movie in enumerate(movies, 1):

print(f"{i}. {movie}")
print("4. Back") choice =

int(input("Choose your movie: ")) return

choice def select_screen():

print("Which screen do you want to watch the movie on?")


for i, screen in enumerate(screens, 1):

print(f"{i}. {screen}")
choice = int(input("Choose your screen:

")) return choice def select_timing():

print("Choose your time:") for i, timing in

enumerate(timings, 1): print(f"{i}.

{timing}") choice = int(input("Select your

time: ")) return choice def select_seat():


seats = [f"Seat {i+1}" for i in range(10)]

print("Available seats:") for i, seat in

enumerate(seats, 1): print(f"{i}. {seat}")

choice = int(input("Choose your seat:

")) if 1 <= choice <= len(seats): return

seats[choice - 1]

else:

print("Invalid

choice.") return

select_seat() def

book_ticket(movie,

screen, timing):

ticket_count = int(input("How many tickets do you want?

")) seat_choices = [] for _ in range(ticket_count): seat =

select_seat() seat_choices.append(seat)

booking = {

"movie": movies[movie - 1],


"screen": screens [screen - 1],
"timing": timings[timing - 1],
"tickets": ticket_count,
"seats": seat_choices} bookings.append(booking)

print("Booking successful! Enjoy your movie.")


def cancel_booking():
if not bookings: print("No bookings

found.") return print("Your bookings:")

for i, booking in enumerate(bookings,

1):

print(f"{i}. {booking['movie']} on {booking['screen']} at


{booking['timing']} - {booking['tickets']} tickets") choice =
int(input("Which booking do you want to cancel? ")) if 1 <=
choice <= len(bookings):

bookings.pop(choice - 1)

print("Booking canceled.")

else:

print("Invalid choice.")

def create_user():

username = input("Enter a new username: ")


password = input("Enter a new password: ") users[username]

= {"password": password, "is_admin": False} print(f"User

{username} created successfully!") def login():

username = input("Enter username: ") password =

input("Enter password: ") if username in users and

users[username]["password"] ==

password:
print(f"Welcome, {username}!")
return users[username]["is_admin"]

else: print("Invalid

login.") return False def

admin_mode():

print("Admin mode activated.")


while True:

print("1. Add movie") print("2. Remove


movie") print("3. View bookings")
print("4. Exit admin mode") choice =
int(input("Choose an option: ")) if
choice == 1:
movie = input("Enter movie name:

") movies.append(movie)

print(f"Movie {movie} added.") elif

choice == 2:

for i, movie in enumerate(movies, 1): print(f"{i}.

{movie}") remove_index = int(input("Select movie to

remove: ")) if 1 <= remove_index <= len(movies):

removed_movie = movies.pop(remove_index - 1)
print(f"Removed movie: {removed_movie}")

else:
print("Invalid choice.")
elif choice == 3:

if not bookings:
print("No bookings found.")
else:

print("Current bookings:")
for booking in bookings:

print(f"{booking['movie']} on {booking['screen']} at
{booking['timing']} - {booking['tickets']} tickets, Seats: {',
'.join(booking['seats'])}")
elif choice == 4:
print("Exiting admin mode.") break

else: print("Invalid
choice.")
def main(): print("Welcome to the Movie Ticket Booking
System!") while True:

print("1. Login") print("2. Create new


user") print("3. Exit") choice =
int(input("Enter your choice: ")) if
choice == 1: is_admin = login() while
True:

print("\n1. Book a ticket") print("2. Cancel a


booking") print("3. View bookings") print("4.
Admin mode" if is_admin else "") print("5.
Logout") sub_choice = int(input("Enter your
choice: ")) if sub_choice == 1: movie =
select_movie() if movie == 4:
continue screen =
select_screen() timing =
select_timing()
book_ticket(movie, screen,
timing)
elif sub_choice == 2:

cancel_booking()
elif sub_choice == 3:
if not bookings:

print("No bookings found.")


else:

print("Your bookings:")
for booking in bookings:

print(f"{booking['movie']} on {booking['screen']} at
{booking['timing']} - {booking['tickets']} tickets, Seats: {',
'.join(booking['seats'])}")
elif is_admin and sub_choice == 4:
admin_mode() elif sub_choice == 5:
print("Logged out.") break else:
print("Invalid choice. Please try again.")
elif choice == 2:

create_user()

elif choice == 3:

print("Goodbye!")

break else:

print("Invalid choice. Please try again.")


if _name_ == "_main_":

main()
5.CODE STRUCTURE OVERVIEW:
Explanation of the overall structure of the code, with modules and
functions.
Individual Function Explanations:

Select_movie(): Function to choose a movie.

Select_screen(): Function to select the screen.

Select_timing(): Function to choose the timing.

Select_seat(): Function to choose a seat.

Book_ticket(): Function to handle ticket booking logic.

Cancel_booking(): Function to handle booking cancellations.

Create_user(): Function to create new users.

Login(): Function to authenticate users.

Admin_mode(): Admin functionalities, such as adding/removing


movies and viewing bookings.
Flow of Execution: Walkthrough of how the program operates from
start to finish, with examples of user inputs and outputs.
 Login Flowchart: Diagram illustrating the login process.

 Booking Flowchart: Step-by-step flowchart for booking tickets.

 Admin Mode Flowchart: Flowchart detailing how the admin


manages movies and bookings
System Architecture Diagram:
Overview of how the system components interact

LOGICAL DEVELOPMENT DIAGRAM:


CONCEPTUAL OVERVIEW DIAGRAM
6. USER MANUAL
 Running the System:
 Console-Based:
a. Open your terminal or command prompt.
b. Navigate to the directory containing the Python script.
c. Execute the script using the command: python
movie_booking_system.py
Web-Based (if applicable):

 Access the system through a web browser using the provided


URL.
 User Interface
The system’s user interface is designed for intuitive navigation and
ease of use. Key features include:
 Home Page:
 Displays a list of currently playing movies.
 Provides information about each movie, such as title, genre,
release date, and showtimes.
 Movie Details Page:
 Provides detailed information about a specific movie, including
plot summary, cast, and reviews.
 Allows users to select a showtime and proceed to seat selection.
 Seat Selection:
 Visualizes the seating arrangement for the selected showtime.

 Enables users to choose available seats.

 Booking Confirmation:

 Displays a summary of the booking, including movie, showtime, seats,


and total cost.

 Allows users to confirm or cancel the booking.

 User Profile:
 Stores user information, booking history, and preferences.
 Allows users to update their profile details and manage their
bookings.
 Booking a Ticket:
 Select Movie:
 Browse through the list of available movies.
 Click on a movie to view more details.
 Choose Showtime:
 Select a preferred showtime for the chosen movie.
 Select Seats:
 Choose the desired number of seats from the available seating
layout.
 Proceed to Checkout:
 Review the booking details and proceed to the checkout page.
 Payment:
 Select a payment method (e.g., credit card, debit card, online
banking).
 Enter payment details and complete the transaction.
 Booking Confirmation:
 Upon successful payment, the system generates a booking
confirmation.
 A digital ticket or e-ticket is sent to the user’s registered email
address.
 Canceling a Booking:
 Login to Account:
 Log in to your user account.
 Access Booking History:

 Go to the “My Bookings” section.


 Select Booking to Cancel:
 Choose the specific booking you want to cancel.
 Confirm Cancellation:
 Verify the cancellation and confirm your decision.
 Admin Mode (For Admin Users Only):
 Admin Login:
 Log in using the designated admin credentials.
 Movie Management:
 Add Movie: Enter movie details, including title, genre, duration,
release date, and showtimes.
 Remove Movie: Select the movie to be removed from the
system.
 Modify Movie: Edit existing movie details, such as showtimes,
pricing, or ratings.
 User Management:
 View User Details: Access information about registered users.
 Manage User Roles: Assign or revoke admin privileges to users.
 Handle User Queries and Complaints: Respond to user inquiries
and resolve issues.
 Booking Management:
 View All Bookings: Access a comprehensive list of all bookings.
 Cancel Bookings: Cancel bookings on behalf of users.
 Generate Reports: Generate reports on booking statistics,
revenue, and popular movies.
 Troubleshooting Tips:
 Invalid Input: Ensure you provide accurate and valid information
when prompted.
 Network Issues: Check your internet connection for stability.
 System Errors: Contact system administrators for assistance with
unexpected errors.
 Account Issues: Reset your password if you forget it or contact
support for account recovery.
 Additional Features (If Implemented):
 Online Payments: Securely process payments using integrated
payment gateways.
 Mobile App: Access the system on your mobile device for
convenient booking.
 Email/SMS Notifications: Receive notifications for booking
confirmations, cancellations, and reminders.
 User Profiles: Create and manage user profiles with personalized
preferences.
 Loyalty Programs: Implement loyalty programs to reward
frequent users.

7. FUTURE ENHANCEMENTS:
 Database Integration

 Persistent Storage: Integrate a database (e.g., SQLite, MySQL) to


store movies, users, and booking data to maintain data between
sessions.

 Data Integrity: Implement data validation checks and ensure


referential integrity for bookings.

 Seat Management System

 Dynamic Seat Allocation: Create a matrix to represent seat


arrangements, marking seats as booked or available.
 Seat Class System: Implement different seat classes (e.g., VIP,
Regular, Balcony) with variable pricing.

 Seat Visualization: Display a seat map to the user for a more


interactive seat selection process.

 User Notifications

 Email Confirmation: Send booking confirmation and


cancellation emails to users.

 SMS Alerts: Integrate SMS notification services for booking


reminders.

 Enhanced User Interface

 GUI Implementation: Use frameworks like Tkinter, PyQt, or


web-based solutions with Flask/Django for a better user
interface.

 Mobile Compatibility: Develop a mobile-friendly version for


booking on smartphones

 Payment Integration

 Online Payment Gateways: Integrate with payment services like


PayPal, Stripe, or Razorpay to handle ticket purchases.
 Discounts and Offers: Add promo code functionality and
discounts for frequent users.

 Advanced Admin Features

 Detailed Reports: Generate detailed reports on bookings,


revenue, and user activity.

 User Management: Admins should have tools to deactivate or


delete user accounts.

 Custom Schedules: Allow admins to modify movie schedules


and timing slots.

 User Reviews and Ratings

 Movie Reviews: Enable users to leave reviews and rate movies.

 Review Moderation: Provide admin tools for moderating


inappropriate content.

 Multi-Language Support

 Localization: Offer multi-language support to cater to a wider


audience.
 Security Enhancements

 Password Hashing: Implement password hashing with libraries


like crypt to secure user passwords.

 Input Sanitization: Protect against SQL injection and input-


based attacks.

 Session Management: Secure user sessions and implement


timeouts for inactive sessions.
 Booking History and Loyalty Program

 Booking History: Let users view past bookings.

 Loyalty Points: Introduce a loyalty program to reward frequent


customers with points that can be redeemed for discounts.

 Real-Time Updates

 Live Seat Availability: Update seat availability in real time so


users cannot double-book seats.

 Push Notifications: Use web sockets to notify users about seat


status changes, special promotions, or last-minute availability.

 Feedback Mechanism
 User Feedback: Collect user feedback after using the system to
enhance the user experience.

 Bug Reporting: Provide a simple way for users to report issues or


suggest improvements.

8.EXECUTION OUTPUT:

You might also like