Online Movie TIcket Booking System in Python Django
Online Movie TIcket Booking System in Python Django
ON
“ONLINE MOVIE TICKET BOOKING
SYSTEM”
Submitted by
BACHELOR OF TECHNOLOGY
IN
CSE
ROURKELA, ODISHA
BATCH 2020-2024
GANDHI INSTITUTE FOR TECHNOLOGY (GIFT)
BHUBANESWAR
BONAFIDE CERTIFICATE
This is to certify that the Major project report entitled “ONLINE MOVIE
is a bonafide record of the work carried out under our guidance and supervision
Mrs. Mohapatra Girashree Sahu Mrs. Sasmita Tripathy Dr. Sujit Kumar
Panda
Assistant Professor Assistant Professor Head of Dept.
CSE CSE CSE
1.2 Objective..........................................................................................................................5
1.3 Aim...................................................................................................................................5
1.4 Scope................................................................................................................................6
2. Literature Review...............................................................................................................7
2.1 Introduction......................................................................................................................7
3. Design...............................................................................................................................12
3.1 Introduction....................................................................................................................12
4. System Analysis................................................................................................................17
4.1 Introduction....................................................................................................................17
Software Requirements........................................................................................................20
5.1 Introduction....................................................................................................................27
5.6 Screenshots.....................................................................................................................37
6. Conclusion........................................................................................................................41
7. References.........................................................................................................................42
ABSTRACT
The online movie ticket system provides a website for a cinema hall where any internet user
can access it. User is required to login to the system and needs booking the tickets. Watching
movies with family and friends in theatres is one of the best medium of entertainment after
having a hectic schedule. But all this excitement vanishes after standing in hours in long
queues to get tickets booked.
The customer will need to enter the information related to film after which the system will
provide complete information regarding currently running movies with details of show
timings and available seats. The user can order his favorite snacks in app which will be
served to them in the cinema hall. If seats are available, the customer can change the position
of the seats while they will get an option to cancel of tickets .If cancellation request is before
three hours of their movie timing then refund facility is also provided to that user. Our online
movie ticket system is one of the best opportunities for those who cannot afford enough time
to get their tickets reserved standing in long queue.
In this system, the staff of the cinema hall won’t have to do anything for the ticket booking as
the process will be done by the customer through the app which will reduce the amount of
staff required in the booking counter.
CHAPTER-01
1. Introduction
Movie ticket booking in web system is basically made for providing the customers an
anytime and anywhere service for booking cinema tickets and providing information
regarding movies and their online schedule. Due to increase in technology and digitalization
online movie system has become much more popular. Instead of wasting time in queues of
movie counter, it provides easy and efficient way to book the tickets online. It is quite
fascination to sit at home browse the movies which have been released, read the review and
then book the tickets according to our feasibility. Online cinema ticket booking system is
actually in action for the last 15 years but it gained its popularity after 2004 and its reach
increased several folds in the past 6-10 years because of increasing net accessibility. The
main aim of the system is to provide complete information of the movie and schedule to the
customer, according to which he/she can book the tickets. The primary purpose of making the
online cinema ticket booking system is to create an automatic online based System which will
provide an easy and an alternate way to book a ticket for a movie. The customer will need to
Enter the information related to film after which the system will provide options to book the
ticket. In this Online Cinema Ticket Booking System, the staff of the cinema hall won’t have
to do anything for the ticket Booking as the process will be done by the customer through the
web which will reduce the amount of staff Required in the booking counter. Booking System
will provide detailed information so that a customer can know about the movie and based on
The information customer will book the ticket. The customer can be presented with a booking
page, which allows them to add more of the same items or remove items from the combo
items. The booking page also shows the seat type to be booked, no of seats to be booked,
service charges to be applied, ticketing cost and net payable amount to the customer.
Here we provide automation for movie ticket booking system through internet. Online movie
ticket booking system project captures activities performed by different roles in real life
ticket booking which provides enhanced techniques for maintaining the required information
up to date, which results in efficiency. The project gives real life understanding of online
movie ticket booking system and activities performed by various roles in the supply chain.
1.2 Objective
The main purpose of Online Movie Ticket Booking system project is to provide an automated
system of buying movie ticket. Now customer can get to know movie show timing and buy
tickets online via internet 24×7. Admin has full control over all modules of this application.
Admin can add new movie details and poster. After that he enters movie schedule and
booking opening date. Customer can view this schedule and book ticket in his desired show
time. Customer should register themselves on the web portal for buying ticket.
1.3 Aim
The main aim of our online ticket booking system is to provide another way for the
user to buy cinema ticket. It is an automatic system.
After inserting the data to database, staff need not to due with the order receive
through the system. In fact, there is similar system on the internet, but there is no
refund method found in the existing system.
This system is basically aimed to provide the user the complete information of the
movie, according to which the user can book the tickets and along with can order
snacks and the refund facility provides more flexibility to the system.
The goals of our system are:
1. To provide an anytime anyplace service for the user.
2. To minimize the number of staff at the ticket box.
3. To promote the film on the internet.
4. To increase the profit to obtain statistic information from the booking
record.
1.4 Scope
The scope of project “Online Movie Ticket Booking” is to enable the User to select theatre
and then book the desired seat numbers in available seats.
The scope for an online movie ticket booking system is quite extensive, as it caters to a wide
range of users, including moviegoers, theater owners, and administrators. Motive of this is to
booking tickets online. By incorporating these features, an online movie ticket booking
system can offer a comprehensive and user-friendly experience, catering to the needs of both
movie enthusiasts and theater operators.
CHAPTER-02
2. Literature Review
We did research of various available movie booking web sites and application. While
surveying we mainly focused on the online systems of countries like USA, England, Dubai,
Singapore and India. While searching and researching we focused basically on the platform
and framework in which the application has been developed. Also the various features related
to other systems were analyzed to get an idea of what are the features which has already been
implemented and what are the features that can be added to the system. From the past 18
years in South Africa a seed of an idea of book my show was planted. The site was started in
1999, and since then it is one of the most famous online movie booking system. The web site
mostly gained its popularity between the years 2006-2010. Book My Show was awarded 'The
Hottest Company of the Year2011-12 and “'The Company to watch out for at the prestigious
CNBC Young Turks Award.In May 2016 BookMyShow awarded ‘Best Omni-channel
Customer Experience Brand’ at the One Direct Quest Customer Experience (QuestCX)
Awards. The web site provides detailed information regarding movies.
2.1 Introduction
There are columns in which reviews can be added and published on the web page. These
sorts of features are almost common in all the web sites available. User login and sign up are
the other features with the help of which user can have authorized access to the web site. Seat
confirmation and payment can easily be done using online payment portal which is further
connected to banking system. There is also division in the web site for different cities so that
it becomes quite easy to search theatre in a particular area. With the increasing online system
one more thing has also become popular that is offers and discounts. The web site also
provides various offers applied through coupon code. To increase the traffic of application
mobile coupon codes has been added much more. Trailer videos, games, offers and events are
the other additional modules of the web site to increase the functionality. The site has 34
million apps downloaded till date, 10 million ticket sold per month, and 3billion page view
per month. Golden Village Pictures (GVP) has established in 1993.
It is Singapore's leading independent film distributor. It has been seen for long that
entertainment is very much popular in some of the smaller countries like Singapore and
Dubai. GV is considered as the backbone of movie system in Singapore. It holds 11
multiplexes housing 92 screens with locations at different locations. Golden Village was
established to develop and operate modern, luxurious multiplex cinemas and is the first local
cinema to personalize the movie-going experience through its Movie Club program. In the
year of 2016, GVP brought SULLY and PASSENGERS, both produced by Village
Roadshow Pictures, and Jackie Chan’s RAILROAD TIGERS. When we look at the software
part it uses responsive web designing with Bootstrap. Back end is supported by Python and
Django database connectivity. Quick Buy Check Booking and Check buy are other options
for ticket booking. Shop merchandise, movie voucher code & cards, corporate are the other
modules and functionalities of the web site. Posters and the trailer of the upcoming movies
have also been shown on the web site. Cinema Online is the outcome of two enterprising
individuals who have an ambition of revolutionizing the Singapore movie scene. The website
www.cinema.com.my first saw the light of a screen in October 1998. Since then it has grown
to include thousands of pages worth of content. You can browse and find all the latest
happenings of movies, be they local or international. News, reviews, previews, and contests
are amongst its highlights. All this from the humble beginnings of Cinema Show times, now
encompassing almost ALL Malaysian cinemas, and as always, updated daily for your
convenience. It includes home, movies, charts, features, trailers and show times.
After understanding the existing system and understanding the need for developing a new
system different people involved in the related activities have been consulted. The data
needed for the study has been collected from company records.
The computerization of this system would avoid the wrong interpretation and bad calculation
of data .The system help the user to see any documents, source code, tasks, activities, team
information with details at the click of a button. The record data is maintained and backed up
such a way that data is not loss. The speed of the system could also increase.
3. Design
3.1 Introduction
Systems design is the process of defining elements of a system like modules, architecture,
components and their interfaces and data for a system based on the specified requirements. It
is the process of defining, developing and designing systems which satisfies the specific
needs and requirements of a business or organization.
1. Registration –
If a customer wants to book the ticket then he/she must be registered, an unregistered user
can’t book the ticket.
2. Login –
Customer logins to the system by entering valid user id and password for booking the ticket.
3. Search Movie –
The system shall have a search function. Customer or visitor can search movies based
on movie name, date, time and venue
4. Seat Viewing –
The customer shall be shown a 2D image of the seats from which the desired seats are
selected.
5.Ticket canceling –
The customer shall be given an option to cancel ticket one hour before the movie with some
fine.
6. Payment –
For the customer there are many types of secure billing will be prepaid by debit or credit
card. The security will provide by the third party like Pay-Pal etc.
7. Logout –
After the payment or browse the movie, the customer will log out.
8. Generate ticket –
After booking, the system can generate the portable document file (.pdf) and then sent one
copy to the customer’s Email-address and another one as an SMS to customer’s phone.
9. Add movies –
The system shall have a feature for admin to add movies and their details.
The system uses SSL (secured socket layer) in all transactions that include any confidential
customer information.
The system must automatically log out all customers after a period of inactivity.
The system should not leave any cookies on the customer’s computer containing the user’s
password.
Sensitive data will be encrypted before being sent over insecure connections like the internet.
2. Reliability –
The system provides storage of all databases on redundant computers with automatic
switchover.
The reliability of the overall program depends on the reliability of the separate components.
The main pillar of the reliability of the system is the backup of the database which is
continuously maintained and updated to reflect the most recent changes.
Thus the overall stability of the system depends on the stability of container and its
underlying operating system.
3. Availability –
The system should be available at all times, meaning the user can access it using a web
browser, only restricted by the downtime of the server on which the system runs. In case of
an of a hardware failure or database corruption, a replacement page will be shown. Also in
case of a hardware failure or database corruption, backups of the database should be retrieved
from the server and saved by the administrator. Then the service will be restarted. It means 24
X 7 availability.
4. Maintainability –
A commercial database is used for maintaining the database and the application server takes
care of the site. In case of a failure, a re-initialization of the program will be done. Also, the
software design is being done with modularity in mind so that maintainability can be done
efficiently.
5. Portability –
The application is HTML and scripting language based. So The end-user part is fully portable
and any system using any web browser should be able to use the features of the system,
including any hardware platform that is available or will be available in the future.
6. Accessibility –
The system will be a web-based application it is going to be accessible on the web browser.
7. Back up –
We will take a backup in our system database. In order to enable the administrator and the
user to access the data from our system!
8. Performance –
The product shall be based on web and has to be run from a web server.
The product shall take initial load time depending on internet connection strength which also
depends on the media from which the product is run.
9. Accessibility –
The system shall provide handicap access.
10. Supportability –
The source code developed for this system shall be maintained in configuration management
tool.
• Database: Django
Hardware Requirements
User Interface
• python has been used for developing the User Layout for the system
• CSS has been used for designing the web pages of the system
• Cache : 1 MB
PYTHON
Python is an interpreted, object-oriented, high-level programming language with dynamic
semantics. Its high-level built in data structures, combined with dynamic typing and dynamic
binding, make it very attractive for Rapid Application Development, as well as for use as a
scripting or glue language to connect existing components together. Python's simple, easy to
learn syntax emphasizes readability and therefore reduces the cost of program maintenance.
Python supports modules and packages, which encourages program modularity and code
reuse. The Python interpreter and the extensive standard library are available in source or
binary form without charge for all major platforms, and can be freely distributed.
Often, programmers fall in love with Python because of the increased productivity it
provides. Since there is no compilation step, the edit-test-debug cycle is incredibly fast.
Debugging Python programs is easy: a bug or bad input will never cause a segmentation
fault. Instead, when the interpreter discovers an error, it raises an exception. When the
program doesn't catch the exception, the interpreter prints a stack trace. A source level
debugger allows inspection of local and global variables, evaluation of arbitrary expressions,
setting breakpoints, stepping through the code a line at a time, and so on. The debugger is
written in Python itself, testifying to Python's introspective power. On the other hand, often
the quickest way to debug a program is to add a few print statements to the source: the fast
edit-test-debug cycle makes this simple approach very effective.
HTML
HTML, in full hypertext markup language, a formatting system for displaying material
retrieved over the Internet. Each retrieval unit is known as a Web page (from World Wide
Web), and such pages frequently contain hypertext links that allow related pages to be
retrieved.
HTML is the standard markup language for creating Web pages.
CSS
Cascading Style Sheets (CSS) is a stylesheet language used to describe the presentation of a
document written in HTML or XML (including XML dialects such
as SVG, MathML or XHTML). CSS describes how elements should be rendered on screen,
on paper, in speech, or on other media.
CSS is among the core languages of the open web and is standardized across Web browsers
according to W3C specifications. Previously, development of various parts of CSS
specification was done synchronously, which allowed versioning of the latest
recommendations. You might have heard about CSS1, CSS2.1, CSS3. However, CSS4 has
never become an official version.
CSS (Cascading Style Sheets) is used to style and layout web pages — for example, to alter
the font, color, size, and spacing of your content, split it into multiple columns, or add
animations and other decorative features. This module provides a gentle beginning to your
path towards CSS mastery with the basics of how it works, what the syntax looks like, and
how you can start using it to add styling to HTML.
With the basics of the CSS language covered, the next CSS topic for you to concentrate on is
styling text — one of the most common things you'll do with CSS. Here we look at text
styling fundamentals, including setting font, boldness, italics, line and letter spacing, drop
shadows, and other text features. We round off the module by looking at applying custom
fonts to your page, and styling lists and links.
At this point we've already looked at CSS fundamentals, how to style text, and how to style
and manipulate the boxes that your content sits inside. Now it's time to look at how to place
your boxes in the right place in relation to the viewport, and to each other. We have covered
the necessary prerequisites so we can now dive deep into CSS layout, looking at different
display settings, modern layout tools like flexbox, CSS grid, and positioning, and some of the
legacy techniques you might still want to know about.
JAVA
Java is a widely used object-oriented programming language and software platform that runs
on billions of devices, including notebook computers, mobile devices, gaming consoles,
medical devices and many others. The rules and syntax of Java are based on the C and C++
languages.
One major advantage of developing software with Java is its portability. Once you have
written code for a Java program on a notebook computer, it is very easy to move the code to a
mobile device. When the language was invented in 1991 by James Gosling of Sun
Microsystems (later acquired by Oracle), the primary goal was to be able to "write once, run
anywhere."
It's also important to understand that Java is much different from JavaScript. Javascript does
not need to be compiled, while Java code does need to be compiled. Also, Javascript only
runs on web browsers while Java can be run anywhere.
New and improved software development tools are coming to market at a remarkable pace,
displacing incumbent products once thought to be indispensable. In light of this continual
turnover, Java’s longevity is impressive; more than two decades after its creation, Java is still
the most popular language for application software development—developers continue to
choose it over languages such as Python, Ruby, PHP, Swift, C++, and others. As a result,
Java remains an important requirement for competing in the job market.
2. High Quality
3. User Experience
4. Brings Profits
5. Business Optimization
Saves Money
There are many ways you can make the process of software development a little cost-
effective. One way is to test the software properly. You can save a lot of money by
testing software before implementing it. Executing faulty software will cost you
numerous investments, users, and clients. Also, testing ensures that your software
does not need continuous fixing – thus saving money in the long run.
High Quality
Software testing aims to remove bugs and defects in your software to ensure smooth
functioning. Hence, you can guarantee high-quality software to your clients.
Delivering good quality software also plays a significant role in building a brand
image. High-quality software attracts more customers and higher payments.
User Experience
User Experience plays an essential role in deciding the successful launch of the
software. A user will only use software continuously if it is basic and straightforward.
If the user experience is terrible, it will be complicated or challenging to use the
software. The software needs to be simple, direct, easy to use, and ensure a good user
experience. It is essential to test software rigorously for this purpose.
Flawless user experience leads to recommendations and a boost in your business.
Brings Profits
Software testing plays an essential role in bringing profits. It heightens the Return on
Investment by ensuring good quality. Rigorous Software Testing leads to high-quality
and efficient software, resulting in good user experience, client satisfaction, and good
word-of-mouth. It will help you to retain old clients as well as gain new ones. Hence,
it leads to profits. Also, since software testing enables you to remove as many bugs as
possible in the early stages of development, long-run investments in debugging are
reduced.
Business Optimization
Business optimization implies happy users, client retention, low servicing costs,
increased profits, better quality, and a superior brand image. All this depends on the
quality of the software you offer to your users, which can be ensured only with careful
and continuous Software Testing. Faulty software can also lead to disturbed
communication within your company, causing unnecessary problems and
inefficiency. The implications of faulty software can be avoided with the help of
Software Testing.
5.1 Introduction
The most important implication of this system is the student ability to access the system and
see the courses and all pertinent assignments with respect to each course as well as the ability
of the students to submit the assignments before deadline.
Django comes with a test suite of its own, in the tests directory of the code base. It’s our
policy to make sure all tests pass at all times.
The Django tests all use the testing infrastructure that ships with Django for testing
applications. See Writing and running tests for an explanation of how to write new tests.
2. Automation Testing
Manual Testing
Flexibility – With manual testing, the advantage of flexibly rectifying bugs is added.
Automation Testing
Testing software by using automation tools is known as automation testing. There are various
tools accessible that can assist you in automatically testing your software, which will be
discussed later in this article.
Saves time
Automation testing increases the speed as you don’t have to overlook it manually. It
frees you from spending a lot of time on test scripts and repeated testing, hence
increasing your efficiency and offering you a chance to work on other aspects of the
software.
2. Static Testing
Static Testing
Static Testing refers to testing the software for bugs without running the code. It is usually
performed at the initial stages of development to debug the software easily. It is carried out
through both manual and automation testing.
Some of the things tested in static testing are mentioned below:
Business Requirements Document
Functional requirements
Use cases
Test data
Prototype
User Manual
Automation Scripts
Dynamic Testing
Dynamic Testing refers to testing the software for functionality, memory usage and overall
operation by running the code. Dynamic testing aims to assess software performance with
dynamic factors or non-constant variables.
For example, suppose you are testing a social media log-in platform.
There are two fields available – “Username” and “Password.”
If the “Password” field is restricted to alphabets only and you put “LH123”, the system will
show “error.” But, if you put “Leeway,” the system will accept it.
This shows that the code is functioning dynamically with different inputs.
Dynamic Testing aims to ensure the smooth functioning of the software after and while
installing it.
Some advantages of Dynamic Testing are:
It supports the analysis of applications.
It is costly.
White box testing is also known as clear box testing/glass box testing/structural testing/open
box testing.
Here, you know the design or code of the software. The purpose is to check the software’s
functioning based on the code.
White box testing analyses the inner functioning of the system. You need to have the
programming knowledge to perform it.
Some advantages of White Box Testing are:
It can be performed at the initial stages.
It is more thorough.
1. Functional Testing – Functional testing aims to verify that there are no gaps between
developed features/functions and required features/functions.
The QA team writes functional test cases. After providing the input, the outputs are verified
and the actual results are compared with the expected outcomes.
Functional testing is performed at various levels like
Unit Testing
Integration Testing
System Testing
Acceptance Testing
performance
toughness
load
volume
scalability
usability
Grey box testing is a mixture of white-box testing and black-box testing. Detailed design
documents and requirements are accessible to you.
Some advantages of Grey Box Testing are:
It provides combined benefits of white box testing and black-box testing.
2. Integration Testing
3. System Testing
4. Acceptance Testing
Unit Testing
A unit is the tiniest testable component of the software. At this level, individual units of the
software are tested.
The aim is to ensure the proper functioning of each unit.
It usually has a few inputs and a single output. White Box Testing and Functional Testing are
applicable at this level.
Some advantages of unit testing are:
For unit testing, easier codes are made.
It increases the confidence to modify and maintain codes.
It is cost-effective.
It simplifies debugging.
Integration Testing
At this level, individual units are grouped for testing. This level aims to detect errors in the
integrated units’ interaction.
All three approaches to software testing are applicable at this level.
Some advantages of Integration Testing are:
It ensures that units function together.
System Testing
Acceptance Testing
At this level, the software is assessed for acceptability. The software is verified against the
requirements to ensure it is adequate for delivery.
Some advantages of Acceptance Testing are:
It ensures that the present conditions meet the expected needs.
5.6 Screenshots
6. Conclusion
The entire project has been developed and deployed as per the requirements stated by the
user, it is found to be bug free as per the testing standards that is implemented. Any
specification-untraced errors will be concentrated in the coming versions, which are planned
to be developed in near future. The system at present does not take care off the money
payment methods, as the consolidated constructs need SSL standards and are critically to be
initiated in the first face, the application of the credit card transactions is applied as a
developmental phase in the coming days. The system needs more elaborative technicality for
its inception and evolution.
In our project: with this cinema ticketing system; cinema companies can satisfy comfortable
facilities to their customers. The relationship between cinema manager, employee, and
customer satisfy a good communication to complete ticketing process. With this platform we
developed, we are hoping to reduce time wasting, avoid misunderstandings, provide easy data
flow, customer pleasure, and less hard work. We believe that we have accomplished our
goals and satisfied with the code we developed.
We think that not a single project is ever considered as complete forever because our mind is
always thinking something new and our necessities also are growing day by day. We always
want something more than what we have. Our application also, if you see at the first glance
than you find it to be complete but we want to make it still mature and fully automatic. Some
of the expansions which we have thought of are:
We want to improve our home page , as it is the main things which attracts all users.
Payment facility for bank to user.
7. References
1. www.google.com
2. www.flipcrop.com
3. www.bing.com
4. www.wikiepedia.org