Universal Ticketing System CHP 1 2 3 4
Universal Ticketing System CHP 1 2 3 4
A Project Report
By
Aniket Thakur
19-20ITTY-32
WILSON COLLEGE
(Affiliated to University of Mumbai)
MUMBAI, 400004
MAHARASHTRA
2019-2020
PROFORMA FOR THE APPROVAL PROJECT PROPOSAL
Date : …………………
WILSON COLLEGE
(Affiliated to University of Mumbai)
MUMBAI-MAHARASHTRA-400007
CERTIFICATE
This is to certify that the project entitled, “Universal Ticketing System”, is bonafide work of
Aniket Thakur bearing Seat.No: 1920ITTY-32 submitted in partial fulfilment of the
requirements for the award of degree of BACHELOR OF SCIENCE in INFORMATION
TECHNOLOGY from University of Mumbai.
External Examiner
“Universal Ticketing System” is an online platform for users to plan their journey and pre-book
their tickets. In this fast-growing world of population and technology, online application for e-
ticketing is a need of the hour to save time and book tickets with ease. Many available online
platforms aim at specific mode of transport. This application will provide the users information
about various available transport options to reach their destination, and users will be able to
book their tickets for all the modes of transport through a single application. Cashless
transactions can be made through e-wallets. Unique ticket ID will be generated, which can be
used for validating the ticket. This will ease the process of ticket booking and help reduce
wastage of time. Travel passes will be made available to users through this application. E-ticket
can also help reduce paper waste. This application can overall reduce wastage of time and make
travel planning and ticket booking fast and simple.
ACKNOWLEDGEMENT
I take this opportunity to express my profound gratitude and deep regards to my teachers for
their exemplary guidance, monitoring and constant encouragement throughout the course of
this project. The blessings, help and guidance given by them, from time to time, shall carry me
a long way in the journey of life on which I am about to embark. I also take this opportunity to
express a deep sense of gratitude to the Head of Department, Ms. Jovairia Ansari for her cordial
support, valuable information and guidance, which helped me in completing this task through
various stages.
A large Debt of gratitude is owned to my project guide Prof. Mrs. Srilatha Ratnam who has not
only endured, but also encouraged, assisted and inspired me for taking up the project on Fact
Verification Platform.
I want to acknowledge and thank her for giving us the opportunity to do this under her guidance
and also for sharing her immense knowledge. Her continuous guidance, time, valuable
suggestions, inputs and helpful criticisms have helped me to accomplish such a challenging
task.
Lastly, I thank almighty, our parents, family and friends for their constant encouragement, with
which I could carry on this project through thick and thin.
DECLARATION
I hereby declare that the project entitled, “Universal Ticketing System” done at place
where the project is done, has not been in any case duplicated to submit to any other university
for the award of any degree. To the best of my knowledge other than me, no one has submitted
to any other university.
The project is done is partial fulfilment of the requirements for the award of degree of
BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be submitted as final
semester project as part of our curriculum.
Chapter 1: Introduction
1.1 Background 7
1.2 Objectives 8
1.3.1 Purpose 9
1.3.2 Scope 9
1.3.3 Applicability 9
CHAPTER: 5
CHAPTER: 6
CHAPTER: 7
7.1 Conclusions
SUMMARY
REFERENCES
CHAPTER 1
INTRODUCTION
1.1 BACKGROUND
With increase in the population and the number of daily commuters, offline ticketing or
booking systems cause a lot of problems like wastage of time, crowding of public areas,
cash transactions, etc. This can be avoided with the use of online interface which provides
easy and hassle-free travel booking options to the commuters. E-ticketing systems is not
only means of payment, but also offer a large range of possibilities to make daily transport
easier to use, to manage and to control. There are many online applications available, each
separately targeting a specific mode of transport. This project aims at creating a single
integrated platform for e-ticketing. Paperless and cashless transactions can make daily
travel easy.
1.2 OBJECTIVES
The main objective of the project is to create a secure and reliable platform for hassle-
free travelling with just a single ticket for all modes of transport
This platform will provide travel tickets to passengers with ease, without wasting time
Travel passes can be easily obtained through the application
A print of the ticket won’t be required
Cashless transactions through e-wallet
1.3 PURPOSE, SCOPE AND APPLICABILITY
1.3.1 PURPOSE
Manual ticket booking adds a lot of time in the total travelling time of the commuter.
Considering the fact that the number of passengers is increasing every year, an
automated system becomes essential to meet the demand. This online system is an
integrated platform which will have all kind of transport options in a single application.
The online system will not only help the commuters book ticket easily, but also reduce
travel time. E-ticketing will also help reduce paper waste created due to hard copy of
the tickets obtained from manually booking.
1.3.2 SCOPE
This system provides an online interface to the user to pre-book their travel tickets.
Various transport options from desired start location to the destination along with
estimated travel time and cost will be made available on the app. This application will
make the process of booking tickets easy and simple.
1.3.3 APPLICABILITY
One single application for all modes of transport
This platform will save time of the users and provide an easy e-ticketing system for
quick cashless transactions
User account will be created, and users can save their daily route, thus reducing ticket
booking time
Monthly or quarterly travel passes can be obtained through this application
CHAPTER 2
SURVEY OF TECHNOLOGY
The project to be developed was a software development for the most part. The options for
platform choice was Windows, macOS or Linux.
Linux
Linux is an open source and community developed operating system for computers,
servers, mainframes, mobile devices and embedded devices. It is supported on almost every
major computer platform including x86, making it one of the most widely supported operating
systems. Linux is a popular choice for advanced users for its open source nature.
macOS
Mac OS is the computer operating system for Apple Computer's Macintosh line of
personal computers and workstations. Mac OS comes with Apple Computer's iMac and Power
Macintosh line of computers. macOS is widely used by developers who prefer a GUI-based
environment.
Windows
Compared to Linux and macOS, I have used Windows quite a lot and thus consider
myself more fluent and decently comfortable with operating. Also, my personal system has
Windows 10 installed and thus Windows was chosen by me as the Platform for development
in terms of OS.
Language Used
Java - Android applications are developed using the Java language. Java is a very popular
programming language developed by Sun Microsystems (now owned by Oracle). Developed
long after C and C++, Java incorporates many of the powerful features of those powerful
languages while addressing some of their drawbacks. These libraries exist to help developers
build applications.
It is object-oriented
Android relies heavily on these Java fundamentals. The Android SDK includes many standard
Java libraries (data structure libraries, math libraries, graphics libraries, networking libraries
and everything else you could want) as well as special Android libraries that will help you
develop Android applications.
Android Studio is Android's official IDE. It is purpose-built for Android to accelerate your
development and help you build the highest-quality apps for every Android device. Android
Studio's Apply Changes feature lets you push code and resource changes to your running app
without restarting your app—and, in some cases, without restarting the current activity. This
flexibility helps you control how much of your app is restarted when you want to deploy and
test small, incremental changes while preserving your device's current state. The code editor
helps you write better code, work faster, and be more productive by offering advanced code
completion.
Background Database
The oracle database server is used to store the data of the software project system in the
background of the software. Which is very useful for store the and retrieve in future for any
In the project, we can use an Oracle database server 2010 for storing the data of our software
Buying ticket is most challenging now a day due to increase in population, in the
current ticketing facility we must take local railway ticket in the queue or use a smart card.
There are websites for reservation of long journey tickets. Mumbai Suburban Railway
carries about 7.5 Million passengers daily. On an average, a computer spends around 15
minutes in the queue at the suburban booking office windows of Mumbai. ATVMs and
CVM machines technologies are already installed in the Mumbai Suburban Railways. On
October 2007 ATVM technology was introduced in the MSR in order to decrease long
queues for tickets. The major drawback with existing ATVM system is the scalability
issue. Only 3-4 tickets can be bought per minute through ATVM. Another issue with the
system is the cost of installing the machine. Each machine costs around 17500INR
excluding the maintenance costs which vary according to the usage intensity. Keeping all
the problems discussed in mind, we decided to go one step further by having a system
where the suburban ticket and all other tickets to be provider in the pdf format. The aim of
our system is to ease the suburban ticket issuing system and a common booking system
for all modes of transport. This will help people to easily book the suburban tickets without
any problems. With our application, any number of tickets can be issued as it involves the
use of mobile phones for buying the ticket. Our online ticket can be bought with just a
smart phone application, where you can carry your tickets in your smart phone in pdf form.
The First user must install this application in your android mobile phone. After installing
this application next phase is registration in this phase you are creating your account using
user_id & password. Using this user_id & password you sign-in to the application. You
recharge your account with a certain amount through manual recharge at ticket counters or
through your debit cards. You can also check balance transactions easily. To book your
ticket using this application you have to enter destination place and your source place is
located on the server. After that ticket is generated with unique ticket-id, name, gender,
DOB & this ticket store into your application.
3.2 Requirements Specifications
The app to be developed must act as an easily available platform that would be able to
provide any available mode of transport for user quickly and accurately
The app should be a lightweight and that supports all mobile platforms so it could be
installed on every device in the market that a commuter might use
The app should be accurate and real-time
The app should work offline (for viewing tickets); as in a country like India which does
not have a working internet connection all the time
The Software Development Life Cycle model being used for the development of this
Project is the Agile Model. Agile SDLC model is a combination of iterative and
incremental process models with focus on process adaptability and customer satisfaction
by rapid delivery of working software product. Agile Methods break the product into small
incremental builds. These builds are provided in iterations. Each iteration typically lasts
from about one to three weeks. Every iteration involves cross functional teams working
simultaneously on various areas like
Planning
Requirements Analysis
Design
Coding
Unit Testing
Acceptance Testing
At the end of the iteration, a working product is displayed to the customer and important
stakeholders.
Agile methods are being widely accepted in the software world recently. The main
advantages of an Agile SDLC are
Planning 15/Jul/19
Coding 05/Oct/19
Testing 10/Oct/19
Hardware Requirements
Minimum hardware required for running Android Studio smoothly and efficiently is:
Software Requirements
As I’m using windows for this project, software requirements for windows operating system
are as follows-
If you do not need Android Studio, you can download the basic Android command line tools.
You can use the included sdkmanager to download other SDK packages. These tools are
included in Android Studio.
Offline components
Download the latest versions of the Android Gradle plugin and Google Maven dependencies
to build your project offline.
This page explains how to keep your Gradle tools up to date and what's in the recent
updates.
The current ticketing reservation system is human dependent. We must take local railway/bus
ticket in a queue or use the smart card. Booking E-Ticketing process is time-consuming because
we must stand in a queue to book our ticket and this is a very hectic process. In case of a smart
card process, It’s non-reliable if we lose a smart card.
Many available online platforms aim at specific mode of transport. If a commuter wants to
travel in more than one mode of transport, he has to book separate tickets for all his rides.
The main aim of the proposed system is to reform the current season ticket booking process
(Ticket) for local traveling. I.e. with the help of this application travellers will able to book
tickets and buy a pass through their mobile. This application deals with the development and
implementation of a smart-phone application to buy the local railway tickets as well as bus and
other available modes of transports which is simple and easy to use. It allows us to book our
tickets based on our location. In this application ticketing information of the user is stored in
the smart phone.
Registration Details
Login Page
Enter your location
Buying tickets and pass
Ticket generation in PDF format
Ticket Checker Application
A use case diagram is a dynamic or behaviour diagram in UML. Use case diagrams model the
functionality of a system using actors and use cases. Use cases are a set of actions, services,
and functions that the system needs to perform. In this context, a "system" is something being
developed or operated, such as a web site. The "actors" are people or entities operating under
defined roles within the system.
Use case diagrams are valuable for visualizing the functional requirements of a system that will
translate into design choices and development priorities.
They also help identify any internal or external factors that may influence the system and
should be taken into consideration.
They provide a good high-level analysis from outside the system. Use case diagrams specify
how the system interacts with actors without worrying about the details of how that
functionality is implemented.
Sequence Diagram for Login & Register
A sequence diagram simply depicts interaction between objects in a sequential order i.e. the
order in which these interactions take place. We can also use the terms event diagrams or event
scenarios to refer to a sequence diagram. Sequence diagrams describe how and in what order
the objects in a system function. These diagrams are widely used by businessmen and software
developers to document and understand requirements for new and existing systems.
ER Diagram for relation between passenger and different modes of transports
ER Model is used to model the logical view of the system from data perspective which consists
of these components:
An Entity may be an object with a physical existence – a particular person, car, house, or
employee – or it may be an object with a conceptual existence – a company, a job, or a
university course.
An Entity is an object of Entity Type and set of all entities is called as entity set.
Activity Diagram for working of Universal Ticketing System
Activity diagram is another important diagram in UML to describe the dynamic aspects of the system.
Activity diagram is basically a flowchart to represent the flow from one activity to another activity.
The activity can be described as an operation of the system.
The control flow is drawn from one operation to another. This flow can be sequential, branched, or
concurrent. Activity diagrams deal with all type of flow control by using different elements such as
fork, join, etc.
CHAPTER 4
SYSTEM DESIGN
Dashboard Module
This module is the main page where user's profile can be seen. Upon login, a dashboard
with various options will be provided to the user. Here, user can book tickets, get passes,
check their travel history and track their current travel status. User can make payment
directly through the e-wallet without wasting time.
Many NoSQL stores compromise consistency in favour of availability, speed and partition
tolerance. Barriers to the greater adoption of NoSQL stores include the use of low-level query
languages, lack of standardized interfaces, and huge previous investments in existing relational
databases. Most NoSQL stores lack true ACID(Atomicity, Consistency, Isolation, Durability)
Advantages of NoSQL:
There are many advantages of working with NoSQL databases such as MongoDB and
Cassandra. The main advantages are high scalability and high availability.
1. High scalability
NoSQL database use sharding for horizontal scaling. Partitioning of data and placing it
on multiple machines in such a way that the order of the data is preserved is sharding.
Vertical scaling means adding more resources to the existing machine whereas horizontal
scaling means adding more machines to handle the data. Vertical scaling is not that easy
to implement but horizontal scaling is easy to implement. Examples of horizontal scaling
databases are MongoDB, Cassandra etc. NoSQL can handle huge amount of data because
of scalability, as the data grows NoSQL scale itself to handle that data in efficient manner.
2. High availability
Auto replication feature in NoSQL databases makes it highly available because in case of
any failure data replicates itself to the previous consistent state.
User
Profile
Email_id:”user_email”,
Mobile_no:”user_mob_no”,
Name:”user_name”,
Password:”user_pass”
}
4.2.2 Data Integrity And Constraints
Firebase Real-time Database security rules are how you secure your data from unauthorized
users and protect your data structure.
In this quick tip tutorial, I will explain how to configure your database security rules properly
so that only authorized users have read or write access to data. I'll also show you how to
structure your data to make it easy to secure.
A class diagram is a type of static structure diagram that describes the structure of a system by
showing the system's classes, their attributes, operations (or methods), and the relationships
among objects.
4.4 User Interface Design
These are some of the steps to take care so that data is properly stored, and correct user get
access to his account.
1. During the signup, if the user enters invalid details, the us 52587247
2. Similarly, for phone number, if the phone number is below or above 10 digits, he would
be notified
3. Similarly email address, the format of email address should be followed or else he gets
an error message
The safety of password of firebase database, Wi-Fi password is very important. Using this
information, the system can be hacked, and the system will be compromised. And if the
attacker get the APL key of the database then they can delete the data or even worse
changes the data and the administrator wont’s able to notice.
This can overcome by not sharing password with unauthorized people and increasing the
strength of the password.
The APL is by default compiled and encrypted before it is loaded into the device and
reverse engineering it is very difficult.
2. No Internet Connection
Unavailability of internet can cause the system to report inaccurate information like
incorrect location of pickup and drop point.
This can be overcome by making that as no internet connectivity in the application this
will allow user to make informed decision.
3. Malfunctioning of software
The application may stop working at some point in time. So, it is not easy for technician
to detect which software is not working.
The application has multiple modules. Modules will be divided in as a way that it will be
easy to detect where the error.
Software testing is defined as an activity to check whether the actual results match the expected
results and to ensure that the software system is Defect free. It involves execution of a
software component or system component to evaluate one or more properties of interest.
Software testing also helps to identify errors, gaps or missing requirements in contrary to the
actual requirements. It can be either done manually or using automated tools. Some prefer
saying Software testing as a White Box and Black Box Testing.
In simple terms, Software Testing means Verification of Application Under Test (AUT).
Testing is important because software bugs could be expensive or even dangerous. Software
bugs can potentially cause monetary and human loss.
Functional Testing
Do not ignore any test results. The final test result may be ‘pass’ or ‘fail’ but troubleshooting
the root cause of ‘fail’ will give you the solution to the problem. Testers will be respected if
they not only log the Bugs but also provide solutions.
Learn to maximize the Test Coverage each time you test any application. 100% test coverage
might not be possible but still, try to reach near it.
In order to ensure maximum test coverage, Application is divided into smaller functional
modules. Write test cases on such individual unit modules. Also, if possible, break these
modules into smaller parts. It is also known as Application Under Test (AUT).
E.g.
Application is divided in modules and ‘accepting user information' is one of the modules. ‘User
information' screen into smaller parts for writing test cases: Parts like UI testing, Security
Testing, Functional Testing of the ‘User information' form etc.
All form field type and size tests, negative and validation tests on the input fields and write all
such test cases will be performed for maximum coverage. Test cases for intended functionality
first i.e. for valid conditions according to requirements is written. basic Unit Testing of
developed applications is enough for to release the application.