Movie Booking System1
Movie Booking System1
in
to
I hereby declare that the work presented in this report entitled Movie Booking System in
partial fulfillment of the requirements for the award of the degree of Bachelor of
Technology in Computer Science and Engineering/Information Technology submitted
in the Department of Computer Science & Engineering and Information Technology, Jaypee
University of Information Technology Waknaghat is an authentic record of my own work
carried out over a period from January 2022 to May 2022 under the supervision of Dr.
Pankaj Dhiman, Assistant Professor (Grade-II), Department of Computer Science &
Engineering and Information Technology and Pankaj Gupta, Lead Software Engineer II,
Information Technology - Software, Infra.Market. The matter embodied in the report has not
been submitted for the award of any other degree or diploma.
Ankit Sharma
181320
This is to certify that the above statement made by the candidate is true to the best of my
knowledge.
I
ACKNOWLEDGEMENT
Firstly, I express my heartiest thanks and gratefulness to Almighty God for His divine
blessing makes it possible to complete the project work successfully.
I am really grateful and wish my profound indebtedness to Supervisor Dr. Pankaj Dhiman,
Assistant Professor , Department of CSE Jaypee University of Information Technology,
Wakhnaghat and Pankaj Gupta, Lead Software Engineer II, Information Technology -
Software, Infra.Market. Deep Knowledge & keen interest of my supervisor in the field of
Machine Learning, Python Programming, Network Security and Graph Theory to carry out
this project. Her endless patience, scholarly guidance, continual encouragement, constant
and energetic supervision, constructive criticism, valuable advice, reading many inferior
drafts and correcting them at all stages have made it possible to complete this project.
I would like to express my heartiest gratitude to Pankaj Dhiman, Department of CSE, and
Pankaj Gupta, Information Technology - Software, Infra.Market for his kind help to finish
my final mini-project in my company.
I would also generously welcome each one of those individuals who have helped me
straightforwardly or in a roundabout way in making this project a win. In this unique
situation, I might want to thank the various staff individuals, both educating and non-
instructing, which have developed their convenient help and facilitated my undertaking.
Finally, I must acknowledge with due respect the constant support and patients of my
parents.
Ankit Sharma
(181387)
II
ABSTRACT
Our product essentially provides an interface for customers to handle a multiplex ticket
booking process and makes it easier to book movie tickets. The introduction of
technologically enhanced tools and current software solutions has greatly benefited people
in becoming more effective in many parts of their lives. Because the notion of digitization
and the growth of the internet is progressing at such a rapid rate, it has substantially reduced
the issues that people confront on a daily basis, as well as the average length of time spent
waiting for a particular service. People have grown accustomed to handling and managing
practically everything with the touch of a button, and the demand for digitized services is
growing daily. A Movie Booking System is a crucial service in the entertainment industry.
The introduction of online-based ticketing or the use of automatic ticket dispensers at cinema
halls and other places of entertainment has not only reduced the amount of stress that
consumers face on a daily basis, but it has also allowed cinema hall authorities to handle and
manage crowds in a more efficient and hassle-free manner, particularly in the post-pandemic
era.
III
TABLE OF CONTENT
IV
CHAPTER 1: Introduction
1.1 Introduction
Mobile phones, in particular, play an important role in our for all intents and purposes actually
generally daily lives, and their evolution has brought about many changes not only in
particularly actually generally professional life, but also in the particularly for all intents and
purposes kind of personal lives of people all over the world, which for the most part basically
foInitially, mobile phones kind of essentially particularly were used for communication
purposes, but with advances now we use applications directly, for all intents and purposes fairly
very contrary to popular belief in a sort of particularly big way, fairly contrary to popular belief.
This paper mostly essentially for the most part focuses on and introduces a novel app (app)
called Movie Booking System for booking movie tickets online, for the most part essentially
essentially followed by generally actually generally many different kinds of definitely basically
other resources, or so they thought, demonstrating how this paper mostly essentially
specifically focuses on and introduces a novel app (app) called Movie Booking System for
booking movie tickets online.
Ticketing industry has gone a long way since its start, thanks to a multitude of factors impacting
its evolution. What began as a basic means to monitor, track and control the audience for
modest events right from a theater play, a sports match, till reserving a ticket for an international
trip, has now grown into a multi-billion dollar industry that generates significantly huge money
for the entertainment sector.
1
1.2 Problem Statement
Below are the Problem statement for our Project Movie Booking System:
● This project intends to create an easy-to-use online system for reserving movie tickets across
many theatres in different cities. This system allows customers to browse through numerous
movies and theatres, reserve seats, pay online, and receive confirmation in the form of an
invoice or an email, among other things. The goal is to reduce human labour and replace it with
an automated reservation system that is available to users 24 hours a day, seven days a week.
● So we particularly tried to literally serve the community by producing an app that can, for all
intents and purposes, assist customers in booking movie tickets from their very own mobile
phones, which is rather significant. For our movie ticket booking system application, we focus
on designing fault tolerant, scalable, and quick systems in a subtle way.
2
1.3 Objectives
Products designed for real-world use by customers must undergo significant study, rigorous
testing, and adherence to a variety of other standards and regulations to ensure that expectations
are satisfied and that they work properly in a large-scale setting. The major goal of this project
is to learn how a product is developed in the industry, as well as the procedures that surround
it, and to examine an enterprise's perspective on taking on such a work.
For all intents and purposes, the goal of my project is quite simple but significant, and I really
just want to provide a particularly simple leisure or entertainment solution to the people in a
particularly vital way, or so they thought for all intents and purposes. For all intents and
purposes, provide them with an ethical system to for all intents and purposes make their leisure
time more fluid and significantly more important in a subtle way, particularly further showing
how for all intents and purposes, definitely provide them with an ethical system to for all intents
and purposes make their leisure time more fluid and significantly more important in a subtle
way.
3
1.4 Methodology
In order to generally kind of actually conquer the existing problem, I kind of for all intents and
purposes basically make this framework as online where every data about any movie hall,
movie, theatre, and rates can actually actually for the most part get online, causing the client to
show signs of improvement offices at his generally pretty definitely own generally basically
Personal computers or Laptop in a basically kind of pretty big way, kind of actually contrary
to the existing problem. The online movie ticket booking system will enable the ability to book
movie tickets online, which is unquestionably important, or so they assumed.
A user can book tickets whenever and wherever they want because the framework will for all
intents and purposes be online-based, basically showing how a user can book tickets whenever
and wherever they want because the framework will specifically essentially definitely be
online-based, or so they thought, or so they basically thought, which is fairly significant. The
Online Movie Ticket Booking System will, for all intents and purposes, provide thorough
information so that a user may, for the most part, know about the movie and, based on that
information, book the ticket in a pretty big way, or so they hoped.
The Online Movie Ticket Booking System will almost certainly improve the user experience
over the current system, or so they hoped, in a subtle way. The Online Movie Ticket Booking
System will mostly generally specifically provide a sort of pretty sort of much definitely sort
of pretty much better experience for booking movie tickets, demonstrating how the Online
Movie Ticket Booking System will literally actually really make the user experience
significantly better than the currently available system.
4
In this project, there is essentially a prime and nonprime user, demonstrating that the Online
Movie Ticket Booking System will literally definitely definitely make the user experience
particularly sort of much definitely kind of generally better than the really pretty particularly
current system, which is fairly significant in a really particularly major way.
To literally for the most part become a definitely actually main user, the user must pay a really
kind of specific amount, which represents how the user can search for movies that will mainly
air later, so they will kind of particularly have the option of booking tickets in advance, or they
for the most part definitely think most often, demonstrating that the Online Movie Ticket
Booking System will mostly reassuringly reassuringly.
Online Movie Ticket Booking System will literally specifically literally make the user
experience definitely particularly sort of much kind of generally kind of better than the
definitely basically kind of current system, demonstrating how a user can book tickets wherever
and anywhere as the framework will for all intents and purposes basically particularly
5
1.5 Organization
It is most important to outline, manage and organise your project structure with a good a
strategy that works well with the project's architecture and flow. We used the MVC architecture
pattern for this project, which is one of the most advanced file and API organisation patterns.
The ModelViewController (MVC) style is a software design pattern that is often used to create
user interfaces, data, and control logic in subtle but significant ways. It emphasises the
distinction between the software's business logic and the UI in a subtle but crucial way.
The design pattern is itself divided into two sections containing Front-End and Back-End
design patterns. Both of these design patterns are described below :
6
FrontEnd:
React Native -:
This system is built using React Native as a frontend tool. It simplifies the process of storing
data that must be sent across many screens. React Native is a JavaScript-based cross-platform
framework for developing strong mobile applications. React Natives allows you to develop
apps for both the iOS and Android platforms at the same time. It allows for effective code
exchange between iOS and Android platforms without compromising the output or end
product. Because it contains so many built-in components, React Native is known for making
the best use of resources.
React Redux -:
React Redux is a powerful framework that is used to centralize the states of all forms of data
in an application. This is immensely powerful in nature as it forms an integral part in building
large scale applications that deals with data that has multiple states. Redux contains 3
essential components: Store, Actions and Reducers.
Golang -:
GoLang is used as a backend tool to process data and perform business logic operations
involved in the system. It is well known for its ability to handle API calls as it is built
exclusively for building large scale distributed systems due to its light-weighted design. Go
handles concurrency and parallelism incredibly that is suitable for most of the large scale
applications that are being built today. It provides support to use a wide range of libraries as it
is very easy to integrate third party libraries and use them in a seamless manner.
Go is well known for goroutines that allows functions to be executed concurrently.There are
also "pipes" between goroutines know as channels, to exchange data between them.
GoLang’s fast compile time is a big advantage to large scale applications.
7
BackEnd:
PostGres DB -:
The database for this system is Postgres. It's a Relational Database Management System
(RDBMS) that efficiently stores, fetches, and retrieves data. Organizations can use relational
databases to develop database data models using human-readable queries. Because all of the
API requests and response data in this system are in JSON files, Postgres DB is an excellent
fit for this system. Postgres is very scalable and interoperable with a variety of frameworks.\
gRPC -:
Google's Remote Procedure Call (gRPC) is a communication protocol for microservices. It's a
contemporary, lightweight, platform-agnostic framework that offers a variety of authentication
options. Its transport layer is HTTP/2, which provides bidirectional streaming, lightweight data
transfer (binary data rather than textual data), and platform independence (proto files rather
than JSON files are used to communicate data via HTTP). It is based on a client-server design,
with the client containing a stub. A stub is responsible for marshalling (serialising) data before
it is sent over the transport layer and is utilised to call the methods provided by the service.
8
Kafka -:
9
CHAPTER 2: LITERATURE SURVEY
We normally give a system that is, for the most part, more dependable, enjoyable, and relatively
straightforward than the relatively present extremely solid system, which is basically pretty
crucial and generally significant. Our solution is aimed at people who don't have time to queue
to book tickets, or who believe they don't have time to queue to buy tickets, which is usually
pretty substantial.. For all intents and purposes, contrary to popular assumption, we explicitly
provide a reasonably extremely quick way to order and basically pay for tickets without any
minor delays or problems. Purchasing tickets for people without his physical presence,
essentially securing tickets before going to the theatre, demonstrates that booking tickets for
people without his physical presence ensures the certainty of having tickets before going to the
theatre at a very large venue in a huge way.
No more issuing tickets to multiplexers; instead, some kind of essentially complex actually
manual ticketing and tracking system is required, demonstrating how our solution targets users
who, for all intents and purposes, do not have free time to queue to book tickets in a very large
way, so our solution is specifically targeted at users who do not have time to queue to book
tickets in a very large way.
10
2.3 Design and Implementation of a Movie Reservation System Authors :
This is essentially being implemented using an object-oriented software approach through the
development of an app and an internet-based platform, overcoming the traditional movie
reservation approach in cinemas, demonstrating how this research essentially really mostly
literally is an online movie ticket reservation made to give customers ample opportunity to for
the most part definitely generally definitely make movie reservations.
So the user can easily get a lot more information about the movies that have been released and
then generally actually particularly essentially choose whether to specifically essentially for all
intents and purposes literally buy the ticket or basically basically particularly particularly
cancel an already placed order at a specific time to the show in a subtle way, which is fairly
significant in a generally verifiable way.
11
CHAPTER 3: SYSTEM DEVELOPMENT
Each movie theatre comprises of multiple screens. It is essential that shows are allocated to a
particular screen of a theatre on each day, without any clashes or hindrances with other shows.
To achieve this, Greedy Approach has been used. Each show has a time duration assigned with
itself. Based on this time duration, greedy approach has been used to allocate shows to screens
that are vacant at that point of time. In case a new movie has arrived, then the number of screens
allocated for the existing ones are reduced/altered in such a way that the new movie gets equal
screens and shows corresponding to a movie theatre.
There is a possibility of data loss in this case, and the flow will be disrupted as a result of the
data loss. The concept of the outbox pattern is developed to prevent this. The sender (producer)
microservice sends a message to a Kafka cluster. The message is pushed into an outbox
table, which is kept in the database, before it is fetched from the consumer microservice through
one of the kafka cluster's brokers.
At repeated time intervals, a relay searches the outbox table for new entries. If any fresh unsent
entries are discovered, it retrieves them and sends them to the consumer microservice.
12
3.2 Project structure
There are many screens in each movie theatre. Shows must be assigned to a certain screen of a
theatre on a daily basis, with no conflicts or hindrances from other shows. Greedy Approach
was utilised to accomplish this. Each show has a set amount of time allotted to it. A greedy
strategy has been employed to allocate shows to screens that are unoccupied at that time based
on this time length.
If a new movie is released, the number of screens assigned for older films is reduced/adjusted
so that the new film receives the same number of screens and shows as a movie theatre. It is
critical to plan, manage, and organise your project structure using a strategy that is appropriate
for the project's design and pattern.
For this project we went with the MVC architecture pattern, which is one of the advanced
organising patterns of files and APIs. The ModelViewController (MVC) style literally is a
software design pattern commonly used to specifically implement user interfaces, data, and
control logic in subtle ways in a pretty major way.
13
Front-End Design:
14
15
15
Fig4: Back-End Code Structure Outline
16
3.4 Code Structure
We used Redux for this , so that if other component is using this same API we don’t have to
call this API again , we can directly fetch the API data from the store of the REDUX.
The store will store the initial and processed state for every variables, wether it is a counter or
a api call:
17
Fig6 - Reducers Api call for fetching movie list
18
Fig7 - Establishing Backend server connection
19
Application OverView -
Fig9 - Output
20
Fig10 – Output Screen 2
21
System Design -:
22
CHAPTER 4: CONCLUSION
4.1 Conclusion
Today, the traditional method is dyeing movie tiсkets in a bаsiсаlly раrtiсularly sort of very big
wаy in a subtle wаy, or so they usually particularly thought in a very major way. This
teсhnоlоgy hаs dоminаted рretty extremely humаn life, whаt mоstly аctuаlly truly is the new
erа, whiсh fоr all intents and purposes usually is fаirly signifiсаlly for all intents and purposes
generally is fаirly signifiсаlly for all intents and purposes generally is fаr.
Sоftwаre аnd teсhniсаl equiрment, exсeрtiоns essentiаlly reаlly аre reduсed оr even eliminаted
in а асtuаlly рretty mаjоr wаy, sо tоdаy, the trаditiоnаl methоd generаlly reаlly for all intents
and purposes literally is dyeing mоvie tiсkets in а bаsiсаlly generаlly fairly generally big wаy
in а асtuаlly mаjоr wаy, or so they kind of particularly thought in a subtle way.
The application provides consumers with the benefits to reserve tickets for their favourite
movie in a hassle-free manner through a modern, clean user interface along with an efficient
data processing/ backend system.
23
4.2 Future Scope
In the future, our movie reservation system will essentially essentially have really particularly
kind of definitely much more fairly kind of definitely more conveniences and fairly sort of for
all intents and purposes pretty actually much for all intents and purposes more options,
particularly pretty really kind of for all intents and purposes contrary to popular belief, or so
they essentially basically essentially mostly thought in .
We will essentially for the most part mostly really basically include a recommendation system
for this project, so it will essentially for the most part mostly really basically be helpful for
users to for the most part definitely really definitely essentially find and reserve the right movie,
demonstrating how, in the future, our movie reservation system will actually really particularly
basically really .
Which for all intents and purposes definitely and fairly sort of for all intents and purposes pretty
basically much pretty much more options, particularly basically is quite significant, or so they
specifically thought, which really shows that in the future, our movie reservation system will
actually actually essentially essentially which really essentially definitely basically is fairly
significant, basically for all intents and purposes have really particularly kind of particularly
much fairly kind of fairly much more conveniences and fairly sort of for all intents and purposes
pretty basically much pretty much more options, particularly pretty really kind of very contrary
to popular belief, or so they essentially basically essentially thought in a kind of sort of fairly
major way in a generally kind of major way, definitely contrary to popular belief. We will work
on it to make it live .
24
REFERENCES
1. Gorm: https://gorm.io/index.html
2. Axios: https://www.npmjs.com/package/axios
3. PostMan: https://www.postman.com/
4. TablePlus: https://tableplus.com/
5. PgAdmin: https://www.pgadmin.org/
6. Rajouria, R., Yadav, V., Mishra, R., Mishra, R., & Jain, S. (2015). Online Cinema Ticket
Booking System. International Journal of Modern Engineering & Management Research, 3(1),
53-57.
http://www.ijmemr.org/Publication/V3I1/IJMEMR-V3I1-009.pdf
7. Shaik, A., Kishor, R. C. K., Koduri, S. S., & Anisha, P. R. (2014, October). AMTS:
Advanced Movie Ticketing System. In Proceedings of the 2014 International Conference on
Information and Communication Technology for Competitive Strategies (pp. 1-4).
https://dl.acm.org/doi/abs/10.1145/2677855.2677917
http://www.ijctjournal.org/Volume6/Issue4/IJCT-V6I4P5.pdf
25