Semester6 Major Project Final
Semester6 Major Project Final
Chandigarh University (CU or CUCHD), is INDIA’S No.1 Private University that is accredited by NBA
and with an A+ Grade by the NAAC
A Project report on
1|Page
Synopsis/Summary or Abstract
Statement about the Problem
In today's fast-paced world, convenience is paramount. Traditional methods of
booking movie tickets, such as queuing at physical counters or relying on
limited phone booking services, are often inconvenient and time-consuming.
This project aims to resolve these issues by providing a modern, efficient, and
user-friendly solution for booking movie tickets online. The goal is to create an
application that allows users to seamlessly browse movies, select showtimes,
choose seats, and book tickets from the comfort of their homes or on the go.
2|Page
Booking Management: Providing a robust system for managing movie listings,
showtimes, seat selection, and booking confirmation.
Admin Interface: Creating an interface for theater administrators to manage
movie schedules, monitor bookings, and perform other administrative tasks.
Payment Integration: Ensuring secure and convenient payment processing to
facilitate seamless transactions.
Scalability: Designing the system to handle a large number of users and
transactions, with the potential for future enhancements.
Methodology
The project follows the Agile development methodology, promoting iterative
development and continuous feedback to ensure the final product meets user
needs. The key phases of the project are:
Requirements Gathering:
3|Page
Setting up the server using Node.js and Express.js.
Developing API endpoints for user authentication, movie listings, and booking
management.
Integrating with MongoDB for data storage.
Database Integration:
4|Page
Hardware & Software to be Used
Hardware:
5|Page
Main Report
Objective & Scope of the Project
Objective:
The primary objective of this project is to develop a Movie
Booking Website Application using the MERN (MongoDB,
Express.js, React.js, Node.js) stack. This application aims to
provide users with a seamless and efficient platform to
search for movies, view showtimes, and book tickets online.
By leveraging the power of modern web technologies, the
application seeks to enhance user experience and streamline
the movie ticket booking process.
Scope:
The scope of the project encompasses the following features:
6|Page
User Profile Management: Functionality for users to manage
their profiles, view booking history, and update personal
information.
Admin Dashboard: An administrative interface for managing
movies, showtimes, and user data.
By addressing these features, the project aims to deliver a
comprehensive and user-friendly movie booking experience.
7|Page
Theoretical Background
The MERN stack is a popular and efficient framework for
building full-stack web applications. It consists of the
following components:
8|Page
Node.js: A JavaScript runtime built on Chrome's V8 engine. It
allows the execution of JavaScript on the server side, making
it possible to build scalable and high-performance
applications. Node.js is known for its event-driven, non-
blocking I/O model, which makes it efficient and suitable for
data-intensive real-time applications.
9|Page
Definition of Problem
Traditional methods of booking movie tickets, such as in-
person purchases or phone reservations, are often time-
consuming and inconvenient. Users face long queues, limited
ticket availability, and the hassle of coordinating schedules.
These issues highlight the need for a streamlined online
system that allows users to book movie tickets from the
comfort of their homes, ensuring convenience, efficiency,
and accessibility.
10 | P a g e
Proposed Solution:
To address these problems, this project proposes the
development of a Movie Booking Website Application that
allows users to:
11 | P a g e
System Analysis & Design vis-a-vis User Requirements
User Requirements:
12 | P a g e
System Design:
13 | P a g e
14 | P a g e
System Planning (PERT Chart)
A PERT (Program Evaluation Review Technique) chart is used
to visualize the project timeline and milestones. It helps in
planning and coordinating various project activities to ensure
timely completion. Key milestones include:
Project Initiation:
Requirements gathering
Initial planning and timeline estimation
Design Phase:
Maintenance:
16 | P a g e
17 | P a g e
Process Logic of Each Module and Code Snippets
Code Github Repo:- https://github.com/DragoonKing/Movie-
Booking.git
Backend:-
1. app.js
2. dbConnect.js
18 | P a g e
3. Data Models
a. Admin
b. User
19 | P a g e
c. Movies
d. Bookings
20 | P a g e
4. Routes
a. Admin Routes
b. User Routes
c. Movie Routes
21 | P a g e
d. Booking Routes
5. Route Controllers
a. Admin Controllers
22 | P a g e
b. User Controllers
c. Movie Controllers
23 | P a g e
d. Booking Controllers
24 | P a g e
Frontend
1. App.js
25 | P a g e
2. Index.js
3. Api-Connectors
26 | P a g e
4. Admin and User Form Login and Control
27 | P a g e
28 | P a g e
5. Bookings Form and Logic
29 | P a g e
6. Header
30 | P a g e
7. User & Admin Profile
31 | P a g e
32 | P a g e
8. Making Navbar Dynamic using Redux logic
33 | P a g e
34 | P a g e
10. All the Dependencies Used For Frontend
35 | P a g e
Login/Sign Up Page
36 | P a g e
Profile Page Before Booking
37 | P a g e
Profile Page showing Bookings in Profile Bookings can also be
deleted.
38 | P a g e
Home Page for Admin Users
39 | P a g e
Data Base Screenshots
40 | P a g e
41 | P a g e
Methodology Adopted, System Implementation & Details of
Hardware & Software Used
Methodology:
The Agile development methodology was adopted to ensure
iterative progress and continuous feedback. This approach
allows for flexibility and adaptability, accommodating
changes in requirements and feedback from users. The
project was divided into multiple sprints, with each sprint
focusing on specific features or components of the system.
Regular meetings and updates ensured that the project
stayed on track and that any issues were addressed
promptly.
Implementation:
The development environment included Visual Studio Code
for coding, Git for version control, and various npm (Node
Package Manager) packages for additional functionality. The
backend was implemented using Node.js and Express.js,
while the frontend was developed with React.js. MongoDB
was used for the database.
Frontend Development:
42 | P a g e
React Router was implemented for client-side routing.
Redux was used for state management.
Axios was used for making HTTP requests to the backend.
Backend Development:
43 | P a g e
The use of modern development tools and frameworks
ensured that the application was built efficiently and
maintained high standards of code quality.
44 | P a g e
Updates: New features and enhancements will be added
based on user feedback and technological advancements.
Bug Fixes: Any issues or bugs reported by users will be
promptly addressed to ensure a smooth user experience.
Security: Regular security audits will be conducted to identify
and mitigate potential vulnerabilities.
Evaluation:
The system will be evaluated based on various criteria,
including:
46 | P a g e
47 | P a g e
Detailed Life Cycle of the Project
The project life cycle includes the following phases:
Initiation:
48 | P a g e
Development:
Maintenance:
Regular Updates: Releasing updates to add new features and
fix bugs.
49 | P a g e
User Support: Providing support to users and addressing their
issues and concerns.
Evaluation:
50 | P a g e
51 | P a g e
Future Scope & Enhancements
The future scope of the Movie Booking Website Application
includes several enhancements to further improve user
experience and functionality. Potential enhancements
include:
52 | P a g e
Accessibility Features: Adding accessibility features to make
the application more inclusive for users with disabilities, such
as screen reader compatibility and customizable font sizes.
Internationalization: Supporting multiple languages and
currencies to cater to a global audience and expand the user
base.
These enhancements will ensure that the application
continues to evolve and meet the changing needs and
expectations of users, providing a superior movie booking
experience.
53 | P a g e
Conclusion
In conclusion, the development of a Movie Booking Website
Application using the MERN stack provides a modern,
efficient, and user-friendly solution for booking movie tickets.
The project successfully addresses the limitations of
traditional booking methods by offering a seamless online
platform. The detailed system design, robust
implementation, and comprehensive maintenance plan
ensure that the application is reliable, secure, and scalable.
With potential future enhancements, the application is
poised to deliver even greater value to users and theaters
alike.
54 | P a g e
Guide Details:
Guide Name : Shailesh Pateliya
Full Address: 803, Block 2,Takshashila Apartment,
near Bagban party plot and Sahajanand Bunglows,
Thaltej, Ahmedabad-380059
Qualification: MCA , System Analyst
Mobile: 9662702571
55 | P a g e
Annexure A
Date- 15/05/2024
56 | P a g e
Acknowledgement
I would like to express my deepest gratitude to all those who
provided me with the support, guidance, and encouragement
throughout the development of this project, "Movie Booking
Website Application using MERN Stack."
First and foremost, I am profoundly grateful to my project guide,
Shailesh Pateliya whose invaluable expertise, insightful feedback,
and unwavering support were instrumental in the successful
completion of this project. Your guidance and encouragement have
been a source of inspiration throughout this journey.
I am also grateful to my classmates and friends for their constant
encouragement, brainstorming sessions, and willingness to provide
feedback during the various stages of this project.
I would also like to acknowledge the developers and contributors of
the technologies used in this project—MongoDB, Express.js, React.js,
and Node.js. Your dedication to creating and maintaining these
open-source tools has made it possible for developers like myself to
bring innovative ideas to life.
Finally, I am thankful to the users who participated in the testing
phase, providing invaluable feedback that helped refine the
application to better meet user needs. Your input was crucial in
ensuring the practicality and usability of the final product.
To everyone who contributed to the successful completion of this
project, directly or indirectly, I extend my heartfelt thanks. Your
support has been indispensable and profoundly appreciated.
Thank you all.
Sincerely,
Sahil Sanjay Gaikwad
O21BCA16367
57 | P a g e
Presentation
58 | P a g e