Etoll Project
Etoll Project
TITLE: An electronic Toll Payment System Using QR-code for the Accra-Tema Toll Booth
BY:
Florent Houetchekpo-040116221
SUPERVISOR
June 2019
Table of Contents
LIST OF FIGURES...................................................................................................................................5
ACKNOWLEDGEMENT...........................................................................................................................6
CHAPTER ONE..........................................................................................................................................7
1.0 INTRODUCTION.................................................................................................................................7
1.1 BACKGROUND OF THE STUDY......................................................................................................7
1.2 PROBLEM STATEMENT....................................................................................................................8
1.3 AIM.......................................................................................................................................................9
1.4 OBJECTIVES.......................................................................................................................................9
1.5 SIGNIFICANCE OF THE STUDY.....................................................................................................10
1.5.1 Academia......................................................................................................................................10
1.5.2 Government..................................................................................................................................10
1.5.3 Ghana Highway Authority............................................................................................................10
1.5.4 Road Users...................................................................................................................................10
1..6 ORGANIZATION OF STUDY..........................................................................................................10
CHAPTER TWO: LITERATURE REVIEW............................................................................................11
2.0 INTRODUCTION...............................................................................................................................11
2.1 Existing Systems.................................................................................................................................11
2.1.1 E-Toll card system........................................................................................................................11
2.1.2 Computer Vision Based Vehicle Detection for Toll Collection System Using Embedded Linux. 11
2.1.3 Automatic Toll Collection Using QR code Scanning...................................................................13
2.1.4 RFID based Toll Collection System Using Arduino.....................................................................14
2.1.5 Video Enforcement Systems.........................................................................................................14
2.1.6 EZ PASS.......................................................................................................................................15
2.1.7 Sun Pass........................................................................................................................................16
2.3 Proposed System.................................................................................................................................17
CONCLUSION.........................................................................................................................................18
CHAPTER THREE...................................................................................................................................19
3.0 INTRODUCTION...............................................................................................................................19
3.1. METHODOLOGY.............................................................................................................................19
Agile methodology................................................................................................................................19
3.2. REQUIREMENT DEFINITION AND ANALYSIS..........................................................................21
3.2.1 FUNCTIONAL REQUIREMENT................................................................................................21
3.2.2 NON-FUNCTIONAL REQUIREMENTS...................................................................................21
3.2.3 HARDWARE REQUIREMENTS................................................................................................23
3.2.4 SOFTWARE REQUIREMENTS.................................................................................................23
3.3 SYSTEM DESIGN..............................................................................................................................23
3.3.1 SYSTEM ARCHITECTURE.......................................................................................................24
3.3.2 Use Case Diagram........................................................................................................................25
3.3.3 Data flow diagram........................................................................................................................28
3.3.4 Entity Relationship diagram.........................................................................................................29
3.3.5 Sequence Diagram........................................................................................................................30
CHAPTER 4: IMPLEMENTATION AND TESTING..............................................................................31
4.1 INTRODUCTION...............................................................................................................................31
4.2 DEVELOPMENT TOOLS..................................................................................................................31
4.2.1 Android Studio.............................................................................................................................31
4.2.1.1 Why Android Is Used in Developing Proposed System.........................................................31
4.2.2 Firebase........................................................................................................................................32
4.2.3 QR code........................................................................................................................................33
4.2.4 Mobile Money API Technology...................................................................................................33
4.2.5 Adobe Photoshop..........................................................................................................................33
4.3 Graphical User Interfaces....................................................................................................................34
4.3.1 Login Activity..............................................................................................................................34
4.4.2 Signup Activity.............................................................................................................................35
4.4.3 Home Activity..............................................................................................................................36
4.4 SYSTEM TESTING STATEGY ADOPTED......................................................................................37
4.4.1 Unit testing:..................................................................................................................................37
4.4.2 Integration testing:........................................................................................................................37
4.4.3 Validation Testing........................................................................................................................38
4.4.4 System testing:..............................................................................................................................38
4.4.5 Client interface testing:.................................................................................................................38
CHAPTER FIVE: CONCLUSION AND RECOMMENDATIONS.........................................................39
5.1 INTRODUCTION...............................................................................................................................39
5.2 CONCLUSION...................................................................................................................................39
5.3 KNOWLEDGE GAINED FROM PROJECT......................................................................................40
5.4 POSSIBLE IMPROVEMENT.............................................................................................................40
5.5 DEGREE OF SUCCESS AND CONCLUSION.................................................................................41
References:................................................................................................................................................42
APPENDIX :Sign in..................................................................................................................................45
LIST OF FIGURES
Figure 2.1: Computer vision based detection vehicle................................................................................12
Figure 2.2: Automatic toll collection using qr code system.......................................................................13
Figure 2.3: RFID based toll collection system...........................................................................................14
Figure2.4: Video Enforcement system......................................................................................................15
Figure 2.5: EZ Pass Toll Collection Systems.............................................................................................16
Figure 2.6: Sun Pass Toll System..............................................................................................................17
Figure 3.1: Agile Methodology Model......................................................................................................20
Figure 3.2: System Architecture...............................................................................................................24
Fig 3.3: Use case diagram of the Electronic toll collection app.................................................................27
Fig 3.4: Data flow diagram........................................................................................................................28
Figure 3.5: Entity Relationship Diagram...................................................................................................29
Figure 3.6: Sequence diagram...................................................................................................................30
Figure 4.1 Login Activity..........................................................................................................................34
Figure 4.2 Signup Activity........................................................................................................................35
Figure 4.3: Main Activity..........................................................................................................................36
Figure 4.4: Testing Strategy (Roger S. Pressman, 2010)...........................................................................37
ACKNOWLEDGEMENT
We appreciate the Lord God Almighty the giver of wisdom and understanding for his grace,
faithfulness and inspiration throughout our four-year program in GTUC and who saw us through
our project work.
We also like to acknowledge the tireless effort of our project Supervisor Dr Ezer Osei Yeboah
Boateng for his guidance and direction throughout the course of this project work.
Again, we like to express our sincerest gratitude to our parents and family for supporting us
financially and in all other areas throughout our academics and even this project work.
Special thanks also go to those who assisted in providing information, those who reviewed and
commented on this report, and those who also have done work related to this project and have
made their work available to be used as a guideline and a point of reference.
Finally, we wish to appreciate GTUC for all she has done by imparting knowledge into us and
the opportunity to complete our undergraduate studies.
1.0 INTRODUCTION
Toll Road, along with the increasing number of vehicles in major cities, is an option for smooth
transportation to avoid congestion. Increasing the use of toll roads will be followed by an
increase in road infrastructure to accommodate optimum service for users. In today's world, time
is the more precious, everything has been automated. But in Ghana we are still waiting in long
queue to pay the toll fee in toll plazas. This is due to the complex architecture of the toll system.
Collection of manual tolls is the most widely used method of collection in Ghana. It requires a
collector or assistant toll. Cash toll is collected by the collector based on the vehicle
classification. The collector, who also dispenses changes, can accept and sell scripts, tickets,
coupons, make a vehicle entry into the system and issue receipts to the patron. The processing
time is highest due to manual intervention. The main idea behind this project is to automate the
collection of toll fees in Ghanaian roads toll plazas. The system used here is the QR code (quick
response) system.
Whiles the Government of Ghana is still struggling to introduce innovative ways in its revenue
collection, the daily growth of technology has changed the way products and services are sold
worldwide and electronic payments are one of the core areas of modern technology that has
influenced almost every industry in the world so as the mechanisms for expressway tolling.
Nobel Economic Prize winner “William Vickrey "was the first to propose an electronic tolling sy
stem for the Metropolitan Area of Washington in 1959. Over time, the technology has evolved
and Norway has been the world's pioneer in the widespread implementation of this technology,
where Electronic Toll Collection (ETC) was first introduced in Bergen in 1986, working with
traditional cash tollbooths. ETC is an information and communication technology (ICT) element
that enables the collection of nonstop tolls. This technology has now spread widely throughout
the world. For Ghana, as the electronic toll collection systems, access controlled expressways is
a novel concept. Although the ETCs are very fresh to the road transport sector in Ghana,
electronic commerce is not new to the public in Ghana as they already purchase electronic tickets
for games, movies and other recreational activities. Ghana is estimated to have about 35 national
toll booths and collect about 1 million Ghana Cedi daily. These toll booths are mandated to
collect tolls from all vehicles including motorcycles except for security services and other
vehicles exempted. The toll system has been seen as a good source of revenue since its
introduction but, on the other hand, a major contributor to the holdup of road traffic and also
manned by humans. Currently, the expressway user fee can only be paid using the conventional
cash. However, very recently in this year, the government plans to introduce ETCs to the
Ghanaian expressways starting from the Accra-Tema Expressway. The introduction of new ETC
system instead of the conventional cash-based payment mechanism will be a timely requirement
to identify the customer expectations levels.
Currently in Ghana, expressway user fees can only be paid using conventional cash. Expressway
users are issued an entry counter receipt on payment that should be kept with the user until the
exit. Since cash is the only option to pay the toll at the exit interchange, users especially at the
exit interchanges suffer from the poor quality of service. Drivers need to have cash with them,
and drivers sometimes have to face the bad experience of the toll superintendents asking for cash
change. This experience's circumstance is two folded. One major drawback is that the vehicle's
driver would be delayed until the operator changes the money and hands the balance over.
Second drawback being the users who have the exact cash toll amount would also have to stay in
the long queues because there is only one cash payment option available. There are also major
environmental concerns due to the current system. For a single trip, Expressways issue 02 paper
tickets per vehicle. If we summarize the numbers, that is to say more than 17 million paper
tickets per year, which is a significant amount of garbage dump in the environment. In the
present method of toll collection, expressway users must stop the vehicle in order to pay the toll
that adversely affects the environment to the vehicle's fuel economy. Due to emissions of
hydrocarbon, carbon monoxide and nitrogen oxide around the toll booth areas, acceleration,
deceleration and stop incidents at the entrance and exit would result in extra fuel consumption
and increased air pollution.
There is a clear need to introduce electronically enabled payment options that are more
convenient, secure, flexible and fast compared to the traditional cash-based tolling system in
order to overcome the disadvantages of the current system.
1.3 AIM
The aim of our project is to develop an android application that will digitalize the toll sector in
Ghana specially the Accra-Tema road by providing road custodian with uniform toll and faster
service.
1.4 OBJECTIVES
Using material designs from google and libraries from GitHub to help improve the
quality of the design.
Using Firebase for the authentication, media storage and crash reporting of the database
in android studio.
Using Qr-code technology to generate and store details of transactions made by users
Integration of a mobile payment application programming interface (API) to facilitate
payments using mobile devices.
1.5.1 Academia
This project, after completion will provide a basis for researchers to review
and also design other related project with similar features and also improve upon this project.
1.5.2 Government
A country's timely requirement is the importance of introducing ETC systems for expressways.
There is no doubt that the government also wants to address the aforementioned disadvantages of
the current systems as they are willing to implement ETCs in the near future.
2.0 INTRODUCTION
Road tolls were introduced in Europe in the 20th century to finance the construction of
motorway networks and specific transport infrastructure such as bridges and tunnels. Passengers
pay in the form of cash over the queue, although the mobility of vehicles is interrupted by this
manual method, which takes longer travel time, more fuel consumption, embezzlement on the
side of the government workers in this sector, which may not help to achieve the objectives set
by them, and many more as the population continues to increase. Although technologies and
expertise are available in Ghana, the manual way of collecting tolls is still used. This contributes
to the nation's underdevelopment, as toll workers may not account for the state's exact profits.
The integration of an electronic toll payment system would facilitate the work of the toll
collector and monitor government revenue.
Short Comings
a- The card reads two times by the reader.
b- The card is unreadable sometimes taking lot of travel time
2.1.2 Computer Vision Based Vehicle Detection for Toll Collection System Using Embedded
Linux.
(Dharmadhikari,2015) proposed this system which is based on the detection of Computer Vision
vehicles using the Embedded Linux library. Embedded Linux development kit (Raspberry pi) is
used to design the system. A camera takes pictures of vehicles in this system passing through the
toll booth so that a camera detects a vehicle. Vehicles are classified as light and heavy depending
on the vehicle classification area. This information is also transmitted to the Raspberry pi that
has set up a web server. When the vehicle is known to raspberry pi, it accesses the web server
information and charges the appropriate toll depending on the vehicle type. Automatic vehicle
classification (AVC) refers to the different components and processes of the toll collection
system where the toll equipment can determine the vehicle's configuration to determine the
appropriate toll to be charged. AVC systems include different devices that measure vehicle
physical characteristics. AVC systems are also used to calculate the amount of toll due on the
tags or to verify the classifications of the assigned vehicle. In doing so, AVCs need to accurately
identify the vehicle determinants in order to correctly recognize the vehicles and assign them to
the correct class. Vehicle class determinants include the number of axles or tires of a vehicle, the
size (e.g., height, length, wheelbase, height over the first axle) of a vehicle, the weight of a
vehicle, the number of occupants in a vehicle and the purpose for which a vehicle is being used
(e.g., a special class for taxi cabs).
Short Comings
b- Poor vehicle plate maintenance hinders identification of vehicle and thereby deduction
is not made from user’s account.
Short Comings
b-If QR code is not recognized the barrier wouldn’t open and this can create congestion
at the toll.
Short Comings
a-The RFID used in the project is of low range so it only works when the vehicle is
near the toll thereby driver needs to slow down if not he would not be identified.
b-The external electromagnetic interference can limit the RFID remote reading.
2.1.6 EZ PASS
EZ Pass is an electronic toll collection system used on most tolerated roads, bridges and tunnels
in the Midwestern and Eastern United States, as far south as Florida and as far west as Illinois. E
ZPass tags are RFID transponders active. You receive a small electronic transponder, when you
open a prepaid account, that is attached to the windshield inside your car or to your license plate.
A battery-powered electronic chip with a unique identification code is encoded inside the
transponder. When traveling through an E-ZPass toll facility, the information contained in your
transponder is read by an antenna at the toll plaza. The right thing. You receive the following
benefits with E-ZPass: most tariffs are less than cash rates saving you money automatically
enrolled in the E-Z Discount Plan saving you up to 25 percent off every month with 30 trips or
more. The more Maine Turnpike you're using, the more you save! access to your online account
24/7, check your balance, add funds, print tariffs.
Shortcomings
SunPass is an electronic gizmo (transponder) attached to your windshield that enables you to
drive through designated SunPass, E-Pass, and O-Pass lanes. The tolls will be deducted from a
prepaid account automatically. The transponder transmits a radio signal to the sensors mounted
on the toll lanes of the SunPass, once attached to your windshield. The transponder immediately
relays the correct amount of toll and deducts it from your prepaid account. There are two
SunPass transponders, the Portable SunPass and the Mini SunPass. The Portable SunPass is just
that, portable. It adheres with suction cups to your windshield and can easily be transferred from
one vehicle to the next or taken with you as you travel. The SunPass Mini is a sticker about the
size and width of a credit card that sticks directly to your windshield. It is permanent and cannot
be moved from one vehicle to another. Once it is removed from the windshield, it can't be used
anymore. The portable and SunPass Mini will only work on glass windshields when attached.
Only the laptop works on a motorcycle. There is no need to have any exact change or wait for the
operator of the tollbooth to change you. SunPass lets you cruise at speeds up to 25 m.p.h. while
others are waiting in the cash lanes.
Shortcomings
b-Sun Pass system charges some customers several times and excessively even when they are on
day off.
https://www.sunpass.com/en/tolls/tollsSunPass.shtml
2.3 Proposed System
We would focus on developing an electronic toll collection app for vehicles and provide uniform
toll to each user. This will help avoid unnecessary delay in the collection of toll and provide safe
and effective system for real transport world and also help the ministry of road and highways
have better control on the money collected at the toll. We would develop a QR code based Toll
payment system using Android studio.
In this system, (GHTOLL), users must make payment before reaching the toll booth point. After
successful payment, a receipt in the form of a qr code is then generated for him/her containing all
the detail of the transaction performed and his vehicle plate number. During payment,
appropriate billing is deducted based on information added during registration and the time of
sending the request. At arrival at the toll booth, the user then scans this code which upon
verification from the database grants passage to him. User with smart phone can generate the QR
code after payment and show via phone for scanning. Also they can manage their account,
manage vehicles they use, check and track payment history. All information about vehicle and
owner of this vehicle is stored in the database after registration. User scan QR code on toll
scanner and when verification is successful, the bar automatically raises for passage. The
attendant will be there just for assistance to people who will face any challenge. Moreover,
verification of a qr code take less than 4 seconds.
CONCLUSION
A new, easy-to-use and versatile approach to automatic toll collection using QR code has been
proposed. The system saves time, manpower and reduces traffic congestion at toll gates,
ultimately reducing travelers ' waiting time and fuel consumption. It allows toll authorities to set
variable prices for toll services and can therefore follow a fair tax collection policy It also
provides users with accurate tolls, encourages cashless systems, minimum emissions that are
harmful to their lives. Someone said nothing is better than providing the customers with the best
services. It is generally believed from other people's work that the smartphone, android and QR
code have a great potential as a tool for transactions and making life easier than without them.
CHAPTER THREE
3.0 INTRODUCTION
This chapter provides detail definition and description of the phases of system development and
an understanding of how systems can successfully be developed. It also defines the system
specification and design and describes the system requirements, operating environment, system
and subsystem architecture, files and database design, input formats, output layouts, human-
machine interfaces.
3.1. METHODOLOGY
Methodologies in system development are a body of practices, procedures and rules used by
those who work in a discipline. It also describes techniques, tools, roles and various activities
needed to develop a system. Methodologies can also be said to be a framework, which is used to
structure, plan and control the development of an information system. Selection of the right
methodology and following through to deliver the intended system is the bane of most systems
developers. The Software Development Life Cycle underpins most of the actions, phases, and
development methodologies that most information systems adopt however it is complex to go
through.
In our process of finding the right methodology to implement in the design our system, we
happen to chance upon several methodologies and the methodology we found fit for our system
is Agile Development Methodology.
Agile methodology
Agile is a methodology for software development that incrementally uses short iterations of 1 to
4 weeks to build a software to align the development process with changing business needs.
Instead of a 6 to 18-month single-pass development where all requirements and risks are
predicted in advance, Agile adopts a frequent feedback process where a workable product is
delivered after 1 to 4 weeks of iteration. Work is divided into sprints within the agile software
development lifecycle with the objective of producing a working product at the end of each
sprint. Usually a sprint lasts two weeks, or 10 business days. A sprint's workflow should follow
this fundamental outline:
Plan: The sprint usually begins with a sprint planning meeting where team members meet to lay
out modules for the upcoming work round. The product manager prioritizes the assignment of
the team from a backlog of tasks.
Design and develop: In this phase, the functionality and development of the system is
successfully designed. Every time a new functionality or new version of the product is
developed, this phase is carried out
Test: This checks the behavior and additional features of each existing function in the system
being developed. Several test methods are used to check the system's responses. Complete
thorough testing and documentation of results before delivery.
Deliver or release: This is where we have the right software and hardware in the environment.
This requires installation, configuration, running, testing and necessary changes. The working
product or software is then delivered to stakeholders and customers.
Assess/feedback: Solicit feedback from the customer and stakeholders and gather information to
incorporate into the next sprint.
In addition to sprint planning meetings, your team should gather for daily meetings to check in
and touch base on the progress, hash out any conflicts, and work to keep the process moving
forward.
User access: Users must register with user details such as username, password, email Id, mobile
money number in this application. Users can log in to the application by registered email and
password after registration. The system will be available 24 hours to provide access from all
locations to all authorized users.
Add vehicle: this activity allows user add or register multiple vehicles by entering vehicle details
QR code generation: The user clicks on the payment tab that asks for inputs such as mobile
money and will have to pay a static amount. After payment, the QR code is generated for
verification
QR code scanner: The code generated is scanned on the scanner by the user to allow passage
and verification.
Payment history: This is a form of receipt where all transactions are stored for confirmation of
transactions.
This really does not affect the software, but needs its services. These requirements include
appearance, intuitive, platform dependence, consistency of the database, multi-user, pre-
installation and security.
Appearance: The graphic design of the system has to be the same in the whole application.
Platform dependency: The application should work correctly on different phones and android
versions
Database consistency: The new creations, editing, updates or deleting operations should be
recorded on the database at the moment.
Multi user: The system should allow the interaction of two or more users at a go.
Security: The system prevents unauthorized users to access the system. Authorized users are
provided with user identifications and passwords. In order to achieve high level of security, the
password is encrypted. Data confidentiality is also provided through the same means.
Usability: the system will be designed with respect to the usability goals and principles.
Therefore, the system will promote clarity and interface consistency that will make navigation
and system easy to use. Error messages will be printed out on the monitor to guide users by
presenting meaningful error notification that can aid in making necessary corrections.
Robustness: A robust system is able to handle error conditions gracefully, without failure. This
includes a tolerance of invalid data, software defects, and unexpected operating conditions.
Scalability: Software that is scalable has the ability to handle a wide variety of system
configuration sizes. The non-functional requirements should specify the ways in which the
system may be expected to scale up (by increasing hardware capacity, adding machines, etc.)
System architecture
Use Case diagram
Sequence diagram
Data Flow Diagram
Context Diagram
Entity Relationship Diagram
Database Scheme
3 Tier Architecture
As the name suggests, three-tier architecture is hierarchical software architecture with three
distinct, independent levels or layers. Three-tier architecture consists of the following levels:
presentation, business and data access, in that order, and each tier has a separate job to do. The
architecture's main task is to enable software applications to respond to user requests or inputs
efficiently and quickly. The picture below shows a simplified three-tier architecture
representation. As it can be seen from the above image, the user sends a request through the layer
of presentation that then sends the request to the layer of business. Then the business layer
processes the request by adding business rules, data rules, business processes, etc. and sends the
enriched request to the data access layer. The data access layer accesses the response database
and sends it back to the business layer, which then returns the response to the presentation layer,
which displays the user information on a user interface (UI).
Presentation Layer
This tier will accept user inputs or requests and display user data in a user-friendly format. It
accepts inputs and sends to the business logic layer the inputs or requests. The presentation tier is
used when the user provides input via one or more channels such as traditional apps, websites,
portals, websites and apps for mobile devices. The presentation layer is a thin client in three-
tiered architecture.
Business Tier
This tier assists in defining solutions to complex business issues. You can define the solutions or
rules on a number of components within the tier. Developers of software can define complex
business algorithms, business processes, government or legal rules or data rules to help keep the
data structure consistent with one or more databases. These components of the middle range are
not linked to any client and can be used by all applications and moved to all locations.
The figure below is a use case diagram showing the different functionalities that the normal user
can perform on the system.
E-Toll Collection System using Qr- Code
Register
Login
Add Vehicle
Pay Toll
Admin
Receive Qr Code
Scan Code
Verify Payment
Allow Passage
User
View Vehicle
/Payment History
Logout
Operator
Delete a user
Fig 3.3: Use case diagram of the Electronic toll collection app
Source: Author’s Design
3.3.3 Data flow diagram
Start
Yes
Login
No
Is Login Successful?
Yes
View Navigstion
Available options
Bar
Fab Services
Add
Vehicle
Choose type of
Pass to buy
Yes
Transact
No
Has Qr code
Qr code generated
been scanned
YES
4.1 INTRODUCTION
After conducting theoretical studies, specifying and designing the system, we then focused on
the actual implementation of the system. In this chapter, we present the techniques used to
achieve our development environment of the system and the stages of the implementation. This
section properly and determine if the project satisfies its functional requirements.
Android Studio
Adobe Photoshop
Firebase
Qr code generator
Mobile payment technology
Android's Market Share: People aren't tired of talking about Android's high mobile
presence, because it's a great deal in terms of accessibility. At the end of the day, in a
competitive economic field, as a market for mobile devices, it is amazing that one
company owns 84 percent of the market share of mobile operating systems and can be
used to develop apps for nearly 2 billion active monthly users.
It’s cheaper: Android app development is cheaper than other platforms. The company
offers its SDK free of charge, so all costs are allocated for the testing and deployment of
the app. This means you don't have to invest a lot in that part. If you invest less in app
development, you will have a higher ROI and your project will be more profitable.
Apps for everybody: Apps focused on premium customers with higher incomes are not
a secret for Apple. This certainly limits their product offering and gives Android a whole
range of opportunities for people with lower incomes. Android developers can create
apps for all types of mobile devices, whether they are standard or high quality.
Integration with social media: It is easy to integrate popular social networks with
Android apps. Android, for example, has the advantage of being part of Gmail, the
world's most used e-mail platform. According to Apps Chopper, developers of Android
apps are making the best user experience in India for easy access to the app
functionality. Most Android apps allow you to sign in directly on Facebook, Google or
Twitter account.
Easy Adoption for developers: Software developers usually learn to develop in Java
and adapt to this programming language for the development of mobile apps is easier for
them. Android is mostly built in Java, so it's faster and easier to adapt. Android also
supports other languages and tools in programming, giving app developers more options
and ways to build their projects.
Quick customization: Making Android an open source project gave Google's mobile
division many advantages. It allows developers, for example, to quickly customize their
apps with various features and updates. The Android tools provide developers with an
easy way to fix, improve and update their apps. They also have the chance to adapt their
apps thanks to the advice of users and reviews in Google Play Store.
4.2.2 Firebase
Every application has its own database, be it android, iOS or web application. We can create
databases with SQLite, shared preferences, websites or some cloud-based storage sites in the
android application. The basic idea behind the creation of the database is to systematically store
data and collect data when necessary. Firebase is also an Android, iOS and web applications
backend database. Firebase is an API provided by Google to create and retrieve a database in real
time with just a few lines of code. Data is stored as JSON and can be accessed from all
platforms. Firebase is a paid service and storage space is free of charge for 200 MB. Some
features of firebase are analytics. authentication, messaging, real time database, storage, crash
reporting and hosting.
Why Use Firebase
There are many features of this database that are not available in most other backend services.
Even if you find all of these features elsewhere, you can't find all of them under one API.
Firebase is a real-time database that above all stands for traditional database services such as
SQL, SQLite, shared preference, etc. Firebase is quickly added to your app and requires less
development time. You don't miss any step under the firebase, you need to follow all the steps to
run your app. It is provided by Google itself, which means it is most reliable and in the future it
will have many new features.
4.2.3 QR code
A QR code is a barcode matrix readable with cameras on smartphones and mobile phones.
Sometimes they are called 2d codes, 2d barcodes or mobile codes. A free app (application) must
be downloaded on most phones purchased in the United States to read the QR code, although
some phones have one pre-installed. The QR code is usually a small white square with black
geometric shapes, although colored and even branded QR codes are now used. QR codes can
contain far more information than a regular bar code. The information encoded in a QR code
may be a URL, phone number, SMS message, V-card or any text. They are called QR because
they allow high - speed decoding of the contents. Many free QR code generators are available
like the Kaywa QR code generator. This code generator allows four different types of content,
URL, text, telephone number or SMS and four small, medium, large or extra-large sizes.
Creating a code is as easy as selecting a type of content, adding your URL or other data and
clicking the button "generate." The QR code is created immediately and can be copied, stored or
embedded. An easy-to-use extension of Google Chrome QR code allows you to create a QR code
in one click while visiting any URL. A QR code is generated immediately and appears from the
address bar corner of the browser, with an option to save to disk or share on Facebook. This QR
code would be incorporated into the proposed system and would generate a unique code via the
payment transaction Id. For this perfectly generated QR code, a corresponding database would
be required to help scan and produce correct results. The database that this system would use is a
firebase.
5.1 INTRODUCTION
This chapter looks at the knowledge gained after undertaking the project, any extra feature that
would be recommended if the project could be extended and the degree of success in carrying
out the project.
5.2 CONCLUSION
In conclusion, the idea was conceived to build a mobile application for toll collection which
would have a list of functionalities. The main functions of the GHTOLL app are to have a
separate account to monitor the various account of each user having registered to use the
application. This include the generation of receipt to users after payment for a pass using the
application based on the various options available. This application was also designed with the
ambition of digitalizing Ghana tolling sector and reduce the way toll agent sit on cash or tamper
with the amount they receive daily.
In the beginning of the system, we had to put into consideration the software methodology that
would be convenient for the project of this sought. We came to a conclusion and of all the
methodologies available we had to do with the Agile Methodology. This methodology was
selected based on a number of merits. These merits proved instrumental as we went about the
development of the system. The Agile Methodology is divided into a set of stages which are
Initial Planning, Requirements Definition, High Level Planning, Development and
Implementation, Initial Testing, Development and Implementation, Client Testing. In the
development of the system we had to go through two (2) stages of iterative steps. Each coupled
with its adventures.
The first iterative step of the development of the system had to do with the initial planning,
defining requirements and high-level planning. In the stage of initial planning, we had to take
into consideration about the various things that need to be put in place so to see to it that the
system that would be developed would meet the desire of the customer in question. The initial
planning stage circled around how we gained information about the subject area. In our case we
employed methods such studying the existing tolling applications available in different countries.
This gave us the required knowledge about what we had to do.
The first iterative step continued with the next set of stages which includes the defining
requirements and high-level planning. In the definition of the requirements we needed to
consider the conditions under which our system would be functional. This included the hardware
and software requirements of the system. The high-level planning stage is the stage where
system interacts with the user and how it would be graphically represented to our customer. This
includes the use of use cases, sequence diagrams, entity relationship diagrams etc.
The second iterative phase had to do with the remodeling of the system after the customer had
had a first look at the system and had given us all the necessary changes that he or she wanted for
the system. This phase involved a change in some of the initial methods employed to acquire
information. In the acquisition of information, we had to add another method which was the
method of observation.
In the development of the system, we had to put into account the applications that would be
significant to the systems architecture. We made use of the java programming language; this is
because of the numerous merits it provided to us over other languages. It is a rather flexible
language with a lot of online help support. After a period, the system was then taken again to the
customer to be tested after which he had been pleased with the development so far and expressed
gratitude for the work that had been done and then looked forward to more future collaborations.
We are convinced that the system that has been built would help the society as a whole and
would help reduce the time wastage citizens experience at the tolls in the country. Also it will
help in the gathering of money to repair roads when they are in bad shape and also digitizing the
toll sector in Ghana. Educational institutions would also be able to look our system and then use
it as a case study to develop much robust systems. In the future, we believe there are numerous
things that could be incorporated to make the systems boundary wider.
2. http://androiddeveloper.galileo.edu/2017/09/04/main-advantages-developing-android-apps/
[accessed on 14/11/18 at 6:35pm]
3. https://android.jlelse.eu/why-to-choose-mvvm-over-mvp-android-architecture-33c0f2de5516
[ accessed on 31-01-19 at 1:37pm]
4. http://androiddeveloper.galileo.edu/2017/09/04/main-advantages-developing-android-apps/
[accessed on 14/11/18 at 6:35pm]
5. http://basho.com/resources/nosql-databases/
[accessed on 14/11/18 at 8:30 pm]
6.
7. https://definedterm.com/electronic_toll_collection_etc
[accessed on 14/11/18 at 7:34pm]
9. Devika Mahtre “Electronic Toll Collection Using Barcode Reader,” International Journal of
Advanced Research in Computer Science and Software Engineering, ISSN: 2277 128X
10. https://firebase.google.com/docs/database/
[accessed on 14/11/18 at 8:55 pm]
11.
12. https://www.ghanaweb.com/GhanaHomePage/NewsArchive/University-of-Ghana-road-tolls-
were-to-solve-traffic-problems-Prof-Aryeetey-628012#
[accessed on 5/06/2019 at 9:31]
15. https://www.icpdas-usa.com/4-Types-of-Automated-Toll-Road-Systems.html
[accessed on 13/11/18 at 6:39 pm]
16. https://www.igeeksblog.com/4-reasons-why-qr-codes-are-better-than-rfid/
[accessed on 14/11/18 at 5:30 pm]
17. Kasturi Shah, Prajakta Joshi, Dishaa Garg “Automatic Toll Collection Using QR Code” e-
ISSN: 2395 -0056, pISSN: 2395-0072©2016 IRJET.
19. Mr.V.B. Dharmadhikari and Abhijeet Suryatali, et al. "Computer Vision Based Vehicle
Detection for Toll Collection System Using Embedded Linux." 2015 International
Conference on Circuit, Power and Computing Technologies
20. http://www.mobile-qr-codes.org/qr-codes-vs-barcodes.html
[accessed on 14/11/18 at 5:35 pm]
21. https://www.modernghana.com/news/914997/ghana-highway-authority-rake-in-gh18m-
revenue-from-toll-bo.html
[ accessed on 18/05/2019 at 10.08 am]
22.
23. https://www.myjoyonline.com/news/2014/March-18th/tema-motorway-30000-cars-pay-tolls-
daily-but-no-facelift.php
[accessed on 5/06/2019 at 10:23]
24. Priyanka Sharma and Vivek Sharma, “Electronic toll collection technologies: A state of art
review”, International Journal of Advanced Research in Computer Science and Software
Engineering, Volume 4, Issue 7, July 2014
25. https://www.quackit.com/database/tutorial/what_is_a_database.cfm
[accessed on 14/11/18 at 5:30 pm]
26. http://www.rroij.com/open-access/smart-highway-electronic-tollcollectionsystem.php?
aid=56249 [ accessed on 17/03/2019 at 10.08 am ]
27. Rahul Raj C. P, SeshuBabu Tolety, Catheine Immaculate, “QR code based navigation system
for closed building using smart phones,”
28. Raadhikaa,” Electronic Toll Collection System”, UNIASCIT, Vol 1 (1), 2011, 05-0
29. https://www.researchgate.net/publication/281446017_A_study_on_Electronic_Toll_Collecti
on_Systems_in_Expressway_in_Sri_lanka
[ accessed on 17/05/2019 at 11.08 am]
30. Sana Said Al-Ghawi, Muna Abdullah Al-Rahbi, Dr.S. Asif Hussain, S.Zahid Hussain,
“Automatic Toll E-ticketing System for Transportation Systems,” 978- 1-4673-9584-
7/16/$31.00 ©2016 IEEE.
31. Sudha Bhalekar, Adesh Chanageri G., Indra Prakash Chauhan,” Automatic Toll Tax Using
RFID”, International Journal of Computer Technology and Electronics Engineering
(IJCTEE) Volume 3, Special Issue, March-April 2013.
32. S. Nandhini, P. Premkumar,” Automatic Toll Gate System Using Advanced RFID and GSM
Technology”, International Journal of Advanced Research in Electrical, Electronics and
Instrumentation Engineering (An ISO 3297: 2007 Certified Organization) Vol. 3, Issue 11,
November 2014
33. Shannon D. Smith, Gail Salaway and Judith Borreson Caruso, “The ECAR Study of
Undergraduate Students and Information Technology, 2009” (Boulder, CO:Educause Centre
for Applied Research, 2009), www. educause.edu/ir/library/pdf/ers0906/rs /ERS0906w.pdf
34. https://www.studytonight.com/dbms/overview-of-dbms.php
[accessed on 14/11/18 at 7:30 pm]
35. Using firebases and App Engine Standard Environment in an Android app
(https://cloud.google.com/solutions/mobile/firebase-app-engineandroid-studio)
36. Vinod Suryawanshi, Aditya Gosavi, Unmani Joshi, Sagar Suri “Automatic Toll Collection
Using QR Code” ISSN: 2319-7242©2017.
APPENDIX :Sign in
package com.example.serly.ghtoll;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
FirebaseUser firebaseUser;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
mAuth = FirebaseAuth.getInstance();
UserRef = FirebaseDatabase.getInstance().getReference("Users");
UserFirstname = findViewById(R.id.TxtFirstName);
UserLastname = findViewById(R.id.TxtLastName);
UserEmail = findViewById(R.id.txtEmailsignup);
UserPassword = findViewById(R.id.TxtPasswordsignup);
UserVPassword = findViewById(R.id.TxtComfirmPasswordSignup);
UserNumber = findViewById(R.id.TxtMobileNumberSignup);
createaccountbutton = findViewById(R.id.btnregisterSignup);
createaccountbutton.setOnClickListener(new View.OnClickListener() {
@Override
createnewaccount(); }
}); }
firstname = UserFirstname.getEditText().getText().toString();
lastname = UserLastname.getEditText().getText().toString();
email = UserEmail.getEditText().getText().toString();
password = UserPassword.getEditText().getText().toString();
confirmpassword = UserVPassword.getEditText().getText().toString();
number = UserNumber.getEditText().getText().toString();
if (TextUtils.isEmpty(firstname)) {
if (TextUtils.isEmpty(lastname)) {
if (TextUtils.isEmpty(email)) {
if (TextUtils.isEmpty(password)) {
if (TextUtils.isEmpty(confirmpassword)) {
if (TextUtils.isEmpty(number)) {
}
if (!TextUtils.isEmpty(firstname) && !TextUtils.isEmpty(lastname) && !
TextUtils.isEmpty(email)
&& !TextUtils.isEmpty(confirmpassword))
loadingbar.show();
loadingbar.setCancelable(false);
mAuth.createUserWithEmailAndPassword(email,
password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
if (task.isSuccessful())
firebaseUser = mAuth.getCurrentUser();
CurrentUserid = firebaseUser.getUid();
firebaseUser.sendEmailVerification().addOnCompleteListener(new
OnCompleteListener<Void>() {
@Override
if (task.isSuccessful())
UserRef.child(CurrentUserid).setValue(user).addOnCompleteListener(new
OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful())
loadingbar.dismiss();
vibrator.vibrate(VibrationEffect.createOneShot
(2000, VibrationEffect.DEFAULT_AMPLITUDE));
} else { vibrator.vibrate(2000);
new AlertDialog.Builder(Register.this)
.setPositiveButton("OK",
new DialogInterface.OnClickListener
() {
@Override
//
dialog.dismiss();
startActivity(new
Intent(Register.this,LogInActivity.class));
finish();
})
.create()
.show();
} else {
loadingbar.dismiss();
});
} else {
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();} }
});
} else
loadingbar.dismiss();}
});
} else {
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();} }
; } catch (Exception e)
{ e.printStackTrace(); } }}