Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 52

GHANA TECHNOLOGY UNIVERSITY COLLEGE

FACULTY OF COMPUTING AND


IMFORMATION SYSTEMS

TITLE: An electronic Toll Payment System Using QR-code for the Accra-Tema Toll Booth

A Project Work submitted in Partial Fulfilment of the Requirements For

BSC. In Information Technology

BY:

Florent Houetchekpo-040116221

Selma Brimah Salimah-040116183

SUPERVISOR

Dr Ezer Osei Yeboah Boateng

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.

We say, God bless us all.


CHAPTER ONE

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.

1.1 BACKGROUND OF THE STUDY


For a country, transportation is the web that connects people, cultures, cities, towns and villages
to a single network of relationships. Individuals use transportation services to travel from one
place to another and meet their daily needs. Transportation distributes a variety of resources to
each nook and corner of the country that was originally concentrated in one place. People used
non-motorized transport modes for their activities in early ages and it was eventually rapidly
developed after the industrial revolution using new technologies. Currently, technology has
become an integral part of transport, and people tend to demand far more complex facilities for
their transport-related activities. Road transportation is one of the highlighted areas of modern
development plans in the country out of the various means of local transportation options that
exist. Road transportation accounts for over 90 percent of land transportation and covers more
than 12,000 km of country-wide A and B-class roads. A high-quality road network offers a lot of
added value to the country's economy by attracting foreign direct investment, improving the
competitiveness of the country as an efficient transport system minimizes travel times and lowers
production costs for domestic units, improves labor mobility, allows production requirements
just in time by reducing lead times for replenishment and many more opportunities.

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.

1.2 PROBLEM STATEMENT


According to the latest statistics, the vehicle population ratio is 1:4, with a staggering 4.4 million
vehicles in operation. That's why commuters spend more time on the roads, burning extra fuel
money where the opportunity costs are very high. At the same time, the number of vehicles
plying in the expressways has risen to a massive number within 03 years from the start of its
operation. The Advisory Unit of the Head of the Public Private Partnership (PPP), Ekow
Coleman (2017), reported that more than 30.000 Vehicles travel on average using the Accra-
Tema motorway generating an annual income of almost 11 million cedi. In 2013, the Ghana
Highway Authority was reported to have raked 36000 cedi daily from the Tema motorway.
Juxtaposing the enormous amounts then made daily from the motorway, the report denounced
the deplorable state of the road and accused some toll collectors of sitting on the cash expected to
rehabilitate the deplorable road. The state of the Accra-Tema motorway is still deplorable almost
a year after the report, as there is still no massive rehabilitation that will give it the facelift and
status it had in its hay days. The 19-kilometer highway that links Accra to the main industrial and
port hub of Ghana, Tema, is a pale shadow of itself today. There has been no major rehabilitation
on the road except for some minor repairs, leaving gaping potholes along the stretch, posing a
hazard to motorists and commuters. Seventy per cent of national trade and traffic is carried out
through Tema port with additional traffic volumes to and from the landlocked countries of
Burkina Faso Mali and Niger. However, the volume of throughput now far exceeds the handling
capacity of the port, resulting in long queuing for ships and slower trade. Current conventional
cash-based tolling mechanisms would not be maintained in the future and more efficient traffic
management systems would be needed at interchanges to handle the increased flow of vehicles.
Apart from the above said problem, there are few more drawbacks of the current expressway
tolling system

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

 To develop an application with android studio.

 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.

 Reduce illegal toll entry

1.5 SIGNIFICANCE OF THE STUDY


This project will contribute to academic research, the Ghana highway authority, road users and
government.

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.

1.5.3 Ghana Highway Authority


Introduction of electronic toll booth will help the Ghana highway authority have better control
over toll funds and be able to issue and monitor road maintenance fees easily. It will also help
them reduce the amount of money being spent on printing and buying paper for the old system.

1.5.4 Road Users


It will help road users reduce the amount of time spent at the toll booth either looking for change
or waiting for delivery of a receipt. Also it will help them reduce fuel consumption while waiting
at the toll.

1..6 ORGANIZATION OF STUDY


This project is in partial fulfilment in acquiring a Bachelor’s degree in Information technology.
The outcome of this project is a mobile application for payment of toll fee and will therefore
consist of five chapters. Chapter one of the study introduces the problem statement and describes
how the specific problem will be addressed through the aims and objectives and it also contains
the significance of this study. Chapter 2 involves the review of literature and relevant research
associated with the problems addressed in the study. Chapter 3 presents the methodology and
procedures used for data collection and analysis, determining functional and non-functional
requirements of such an application. Chapter 4 covers the areas of implementing and testing of
various prototypes. Chapter 5 offers a summary and discussion of findings, implications for
practice, present and future and recommendations for future research.
CHAPTER TWO: LITERATURE REVIEW

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.

2.1 Existing Systems


Several existing systems will be studied in the below sections.

2.1.1 E-Toll card system


This system was proposed to make payment more efficient. It is a smart prepaid card and
contactless smartcard whose function is as a substitution for toll cash payment transaction. E-
Toll balance is refillable at various centers. The time required for e-Toll use is only about 4
seconds which is efficient enough.

 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

a-Pictures are blurry at times and cannot be recognized.

b- Poor vehicle plate maintenance hinders identification of vehicle and thereby deduction
is not made from user’s account.

Figure 2.1: Computer vision based detection vehicle


Source: https://www.semanticscholar.org/paper/Smart-toll-collection-system-using-embedded-
Linux-Desai-Patoliya
2.1.3 Automatic Toll Collection Using QR code Scanning
(Linda John 2016) proposed a system automatic toll collection using QR code scanning in this
system capturing QR code by using web cam and recognize it. When web cam captures QR code
and the QR code is correct, the person’s vehicle is authorized. Then the barrier is automatically
opened and the car is allowed to pass. The web cam is a video camera which is used to capture
image.

 Short Comings

a-The images are not clear at times and cannot be recognized.

b-If QR code is not recognized the barrier wouldn’t open and this can create congestion
at the toll.

Figure 2.2: Automatic toll collection using qr code system


Source: https://www.semanticscholar.org/paper/Automatic-Toll-Collection-by-Using-QR-Code-
Gaikwad-Audhutwar
2.1.4 RFID based Toll Collection System Using Arduino
(Amani Gupta, 2016) proposed an RFID based toll collection system using Arduino. In this
system, when a vehicle arrives at the toll, the rfid tag is sensed and receives information stored in
the chip in a form of radio frequency signals through antenna which converts it in a digital form
displayed on an LCD screen for the toll operator.

 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.

Figure 2.3: RFID based toll collection system


Source:
https://www.skyfilabs.com/project-ideas/rfid-based-toll-collection-system

2.1.5 Video Enforcement Systems


The term" video enforcement systems (VES) "or" violation enforcement systems "refers to the
different components and processes of the toll collection system where the toll equipment is
capable of capturing information on vehicles that have not paid the appropriate toll" (US
Department of Transportation). Video enforcement system is used to capture images of license
plates of vehicles using electronic toll collection lanes without a valid Electronic toll collection
tag according to this report. These images will be used to identify the number of the license plate
and then the registered vehicle owner will be notified of the amount of toll due. Most toll
authorities charge a very high processing fee compared to the toll charge. The main reason for
this fee is to discourage drivers from infringing the toll and recover the processing fee.

Figure2.4: Video Enforcement system


Source:
www.transportdatasystems.com/pd-video-tolling.php

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

a-High Toll Lane fees due to the technology being used

Figure 2.5: EZ Pass Toll Collection Systems


Source :
https://www.ezpassnj.com/

2.1.7 Sun Pass

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

a-the transponder is not detected at times making it difficult to be billed

b-Sun Pass system charges some customers several times and excessively even when they are on
day off.

Figure 2.6: Sun Pass Toll System


Source:

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:

Figure 3.1: Agile Methodology Model


Figure Source: http://www.globalteckz.com

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.

3.2. REQUIREMENT DEFINITION AND ANALYSIS


This is the most vital part of the project and the requirement specification of this output system.
It is a complete description of the behavior of the system to be developed and may include case
use, sequence diagrams, entity relationship diagrams and express the user's interaction with the
information system. The specification documents also contain all important requirements after
proper and detailed interaction with stakeholders, project teams, end users and customers. The
requirement document must also specify a functional and non - functional requirement; input and
output formats; all design constraints potentially resulting from political, economic,
environmental and security reasons.

3.2.1 FUNCTIONAL REQUIREMENT


These are the desired program operations that perform within normal parameters and are part of
the analysis of requirements. This is done to ensure that the design meets the user's expectations.
These functions of the system include:

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.

3.2.2 NON-FUNCTIONAL REQUIREMENTS


The nonfunctional requirements should be defined as precisely as possible. Often, this is done by
quantifying them. Where possible, the nonfunctional requirements should provide specific
measurements that the software must meet. The maximum number of seconds it must take to
perform a task, the maximum size of a database on disk, the number of hours per day a system
must be available, and the number of concurrent users supported are examples of requirements
that the software must implement but do not change its behavior.[CITATION And10 \l 1033 ].

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.)

3.2.3 HARDWARE REQUIREMENTS


The computer for the application development must have the basic input or output components.

 Processing speed of 1Ghz or faster


 20GB disk space or higher
 RAM of 1GB or higher
 It must have stable internet access

Mobile Phone must have the basic input or output components

 Android version of at least 4.4


 Hardware version G900p.04
 Security software version MDF v1.1 release 4
 VPN v1.4 release 3
 Processor 1.9Ghz octal core

3.2.4 SOFTWARE REQUIREMENTS


Windows 8 or 8.1, Windows 7, Windows Vista, Windows XP, or Linux Operating System are
the preferred operating systems for the development computer or a latest Operating System.

 Android phone SDK 5 and above


 Java runtime Environment 1.6
 Java se JDK v6
3.3 SYSTEM DESIGN
Software design is at the technical core of the software engineering process and is applied
irrespective of the development example and application area. It is the process of defining
system elements such as architecture, modules and components, their various interfaces and
system data. Software design is at the technical core of the software engineering process and is
used regardless of the example and application area of development. It defines system elements
such as architecture, modules and components, their different interfaces and system data. The
conceptual models and structures utilized in developing the system architecture include:

 System architecture
 Use Case diagram
 Sequence diagram
 Data Flow Diagram
 Context Diagram
 Entity Relationship Diagram
 Database Scheme

3.3.1 SYSTEM ARCHITECTURE


A system architecture is the conceptual model defining a system's structure, behavior, and more
views. A description of an architecture is a formal system description and representation,
organized in a way that supports reasoning about the system's structures and behaviors. Figure
3.2 illustrates the system architecture to be implemented. The architecture to implement is an
architecture of three levels. A system architecture may include system components, the
externally visible properties of those components, the relationships between them (e.g. behavior).
It can provide a plan from which to procure products and develop systems that will work
together to implement the system as a whole.

Figure 3.2: System Architecture


Source:https://www.techopedia.com/2/32100/software/a-detailed-look-at-3-tier-software-
architecture

 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.

Data Access Tier


The data tier includes the data persistence mechanisms (database servers, file shares, etc.) and
the data access layer that encapsulates the persistence mechanisms and exposes the data. This is
the actual DBMS access layer. It can be accessed through the business services layer and on
occasion by the user services layer. This layer consists of data access components (rather than
raw DBMS connections) to aid in resource sharing and to allow clients to be configured without
installing the DBMS libraries and ODBC drivers on each client. The data access layer should
provide an API to the application tier that exposes methods of managing the stored data without
exposing or creating dependencies on the data storage mechanisms. Avoiding dependencies on
the storage mechanisms allows for updates or changes without the application tier clients being
affected by or even aware of the change.

3.3.2 Use Case Diagram


Use cases are used to identify and partition system functionality during the project's analysis
phase. It summarizes the details and interaction with the system of system users known as actors.
It helps the team and talks about scenarios that interact with individuals, organizations or
external systems, goals that the system helps to achieve those entities known as actors and the
scope of the system

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

Choose Toll Payment


Plan

Pay Toll

Admin

Receive Qr Code

Scan Code

Verify Payment

Allow Passage

User
View Vehicle
/Payment History

Logout

View all payments


made in the system
And the balance

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

Do you have an Account ? No Register

Yes

Login

No

Is Login Successful?

Yes
View Navigstion
Available options
Bar

View Mainpage Menu Option List Of Options

Fab Services

Add
Vehicle

View History of Proceed to View History of


Vehicles Added Payment Paid Toll

Choose type of
Pass to buy

Do you have enough Recharge E-


No
funds ? Wallet

Yes

Transact
No

Has Qr code
Qr code generated
been scanned

YES

Allow Passage Finish

Fig 3.4: Data flow diagram


Source: Author’s Design
3.3.4 Entity Relationship diagram
Database is an integral part of the system of software. To make full use of ER Diagram in
database engineering, you are guaranteed to produce high-quality database design for use in the
creation, management and maintenance of databases. An ER model also provides a
communication vehicle.

Figure 3.5: Entity Relationship Diagram


Source: Author’s Design
3.3.5 Sequence Diagram
Sequence Diagrams are interaction diagrams that detail how operations are carried out. They
capture the interaction between objects in the context of a collaboration. Sequence Diagrams are
time focus and they show the order of the interaction visually by using the vertical axis of the
diagram to represent time what messages are sent and when (Ian Sommerville, 2011).
Figure 3.6 shows an illustration of a sequence diagram

Figure 3.6: Sequence diagram

Source: Author’s diagram


CHAPTER 4: IMPLEMENTATION AND TESTING

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.

4.2 DEVELOPMENT TOOLS


Due to the nature of the project, different programing languages and scripting languages will be
used for the different components of the system. The following tools will aid in the development
of the project.

 Android Studio
 Adobe Photoshop
 Firebase
 Qr code generator
 Mobile payment technology

4.2.1 Android Studio


Android Studio is an integrated development environment (IDE) released by Google at the
Google I / O developer event last May 2013. This IDE is available for three platforms - Windows
OS, Mac OS X, and Linux. Android mobile OS provides a flexible Android mobile application
development environment, as developers can use Android Java libraries as well as normal Java
IDEs

4.2.1.1 Why Android Is Used in Developing Proposed System

 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.

4.2.4 Mobile Money API Technology


 Mobile Money is a fast, simple, convenient, secure and affordable way of transferring money,
making payments and doing other transactions using a mobile phone. The service is offered by
flutterwave in partnership with MTN and over 10 partner banks. You can use flutterwave API to
send and receive money, top-up MTN airtime, pay bills (ECG Postpaid, MTN Postpaid, School
fees and more), buy & pay for insurance, pay employee salaries, pay for airline tickets and other
goods and services. No need to travel far or wait impatiently to receive or send money.

4.2.5 Adobe Photoshop


Adobe Photoshop is a raster graphics editor developed and published by Adobe Inc. for
Windows and mac OS. It was originally created in 1988 by Thomas and John Knoll. Since then,
this software has become the industry standard not only in raster graphics editing, but in digital
art as a whole. We used Photoshop to design the backgrounds and customize some buttons and
mix some colors.
4.3 Graphical User Interfaces
4.3.1 Login Activity
The login activity serves as an authentication mechanism of the app. It requires app users to
provide valid login credentials in order to access the app. Figure 4.1 show an illustration of the
login interface.

Figure 4.1 Login Activity


Source: Author’s design

4.4.2 Signup Activity


The signup activity allows users to create an account in order to be able to log into the app.
Figure 4.2 show an illustration of the signup activity.

Figure 4.2 Signup Activity


Source: Author’s design
4.4.3 Home Activity
The home activity provides the main activity after a successful login. It shows the home screen
of all items, a bottom navigation bar to navigate to other pages in the app and an app bar which
contains a side drawer to navigate to other pages and a message button to display all messages
for the user. Figure 4.7 show an illustration of the home activity.
Figure 4.3: Main Activity
Source: Author’s design

4.4 SYSTEM TESTING STATEGY ADOPTED


Testing is a set of activities that can be planned in advance and conducted systematically. The
objective of testing, stated simply, is to find the greatest possible number of errors with a
manageable amount of effort applied over a realistic time span. (Roger S. Pressman, 2010).

Figure 4.4: Testing Strategy (Roger S. Pressman, 2010).

4.4.1 Unit testing:


The unit testing was performed to test the validity of the individual units. This is done in the
coding phase with the interactive testing. Thus, it itself constitutes a majority of functionality test
for each logical unit. To achieve this, we tested the application by testing the button click event
and the filled against a condition.

4.4.2 Integration testing:


Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfied, as shown by successfully unit testing, the combination of components is
correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.

4.4.3 Validation Testing


Intended to show that the software meets its requirements. A successful test is one that shows
that a requirement has been properly implemented (Ian Sommerville, 2011).

4.4.4 System testing:


Here we tested the system to affirm the end-to-end quality of the entire system based on the
functional and requirement specification of the system. Non-functional quality attributes,
reliability, security, and maintainability were also checked.

4.4.5 Client interface testing:


This test was conducted to ensure that the software interface meet the client requirement and
determine how friendly its usage is. By way of testing, a computer export and service performed
some activities on the interface.
CHAPTER FIVE: CONCLUSION AND RECOMMENDATIONS

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.

5.3 KNOWLEDGE GAINED FROM PROJECT


This project has given us the opportunity to gain extra knowledge in both mobile development
and project report writing. We have learnt to use libraries, packages and also use the android
programming framework and libraries to design beautiful user interfaces. We also learnt how to
connect an android app to a web service and to retrieve and send data to a remote database. It has
also helped us learn how to work effectively as a team, learn about the real life implementation
of what we have studied during the four years we spent at GTUC. Moreover, it has helped us
develop “a never say die” attitude and always work hard to meet a set target or goal. Finally, this
project has helped developed our character in the sense that we have learnt how to take critic,
work under pressure and remain sober through all these conditions.

5.4 POSSIBLE IMPROVEMENT


Even though all system requirement were met after completing the project, there can still be
improvements in the system. Other features can still be implemented in the app. Currently, the
system runs only on android devices and this is a limitation of the system. The app can be made
available to the web platform so that people can use the application from web browsers and also
IOS platforms. Another point of improvement is that this app charges uniform toll independent
of the vehicle type. More improvement can be made on it to allow people be charged according
to the type of car they are driving.

5.5 DEGREE OF SUCCESS AND CONCLUSION


Even though there are other improvement that can be added to the app, the app still met the aims
of the project. We can say that the project was very successful because after developing the app,
it was able to perform all the expected functions for which it was developed for.
References:
1. Android guide- Firebase (https://firebase.google.com/docs/)
[accessed on 12/11/18 at 4:50 pm]

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]

8. Deepashree Mehendale “A Comparative Study of Different Technologies for Electronic Toll


Collection System,” International Journal of Innovative Research in Computer and
Communication Engineering, ISSN: 2320-9801 Deepashree Mehendale “A Comparative
Study Of Different Technologies For Electronic Toll Collection System,” International
Journal of Innovative Research in Computer and Communication Engineering, ISSN: 2320-
9801. Gokhale ES’s R.H. Sapat, “Automated Toll Collection System Using RFID”,
(Computer Engineering, COE MSR, Nashik-05/ Pune University, India)

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]

13. International Journal of Computer Trends and Technology- volume3Issue3- 2012


http://www.internationaljournalssrg.org
[accessed on 18/11/18 at 8:55 pm]

14. International Journal of Innovative Research in Computer and Communication Engineering


(An ISO 3297: 2007 Certified Organization) Vol. 4, Issue 9, September 2016

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.

18. Kaywa QR code generator http://qrcode.kaywa.com/.


[ accessed on 12/11/18 at 4:15 pm]

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;

public class Register extends AppCompatActivity {

private TextInputLayout UserFirstname, UserLastname, UserEmail, UserPassword,


UserVPassword, UserNumber;

private Button createaccountbutton;

private FirebaseAuth mAuth;

FirebaseUser firebaseUser;

private ProgressDialog loadingbar;

private DatabaseReference UserRef;

String CurrentUserid, firstname, lastname, email, password,confirmpassword,number,


fullname;

private static final String TAG = "Register";


private Vibrator vibrator;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_register);

mAuth = FirebaseAuth.getInstance();

vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);

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);

loadingbar = new ProgressDialog(this);

createaccountbutton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

createnewaccount(); }

}); }

private void 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();

fullname = firstname + " " + lastname;

if (TextUtils.isEmpty(firstname)) {

Toast.makeText(this, "pls enter First Name", Toast.LENGTH_LONG).show();

if (TextUtils.isEmpty(lastname)) {

Toast.makeText(this, "pls enter Last Name", Toast.LENGTH_LONG). show();

if (TextUtils.isEmpty(email)) {

Toast.makeText(this, "pls enter valid Email", Toast.LENGTH_LONG). show();

if (TextUtils.isEmpty(password)) {

Toast.makeText(this, "pls enter Password", Toast.LENGTH_LONG).show();

if (TextUtils.isEmpty(confirmpassword)) {

Toast.makeText(this, "pls Confirm Password", Toast.LENGTH_LONG).show();

if (TextUtils.isEmpty(number)) {

Toast.makeText(this, "pls enter Phone number", Toast.LENGTH_LONG).show();

}
if (!TextUtils.isEmpty(firstname) && !TextUtils.isEmpty(lastname) && !
TextUtils.isEmpty(email)

&& !TextUtils.isEmpty(number) && !TextUtils.isEmpty(password)

&& !TextUtils.isEmpty(confirmpassword))

if (password.equals(confirmpassword) && password.length()<8 )

Toast.makeText(this, "pls enter a password with at least 8 characters ",


Toast.LENGTH_LONG).show();

if (!TextUtils.isEmpty(number) && number.length()<10 ) {

Toast.makeText(this, "Please ,phone number field only receives 10 digits",


Toast.LENGTH_LONG).show();

if (!TextUtils.isEmpty(number) && number.length()>10 ) {

Toast.makeText(this, "Please ,phone number field only receives 10 digits",


Toast.LENGTH_LONG).show();

if (password.equals(confirmpassword) && password.length()>=8 &&


number.length()==10 )

loadingbar.setMessage("Please wait while we create your new account");

loadingbar.show();
loadingbar.setCancelable(false);

mAuth.createUserWithEmailAndPassword(email,
password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {

@Override

public void onComplete(@NonNull Task<AuthResult> task) {

if (task.isSuccessful())

firebaseUser = mAuth.getCurrentUser();

CurrentUserid = firebaseUser.getUid();

//class created within the files

final User user = new User(CurrentUserid,firstname, lastname, email, number,


fullname);

firebaseUser.sendEmailVerification().addOnCompleteListener(new
OnCompleteListener<Void>() {

@Override

public void onComplete(@NonNull Task<Void> task) {

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();

//vibrates to alert success for android M and above

if (Build.VERSION.SDK_INT >= 26) {

vibrator.vibrate(VibrationEffect.createOneShot

(2000, VibrationEffect.DEFAULT_AMPLITUDE));

} else { vibrator.vibrate(2000);

new AlertDialog.Builder(Register.this)

.setMessage("Hello" + " " + firstname + " "

+ lastname + " " + "\n" + "an email verification link


has been sent to " + email + "\n" +

"please verify to continue")

.setPositiveButton("OK",

new DialogInterface.OnClickListener

() {

@Override

public void onClick(DialogInterface dialog, int


which) {

//

dialog.dismiss();
startActivity(new
Intent(Register.this,LogInActivity.class));

finish();

})

.create()

.show();

} else {

loadingbar.dismiss();

Log.d(TAG, "onComplete: " +


task.getException().getMessage());

});

} else {

Toast toast = Toast.makeText(Register.this, " Error: " +


task.getException().getMessage(), Toast.LENGTH_SHORT);

toast.setGravity(Gravity.CENTER, 0, 0);

toast.show();} }

});

} else

{ String message = task.getException().getMessage();


Toast.makeText(Register.this, "error occurred" + message,
Toast.LENGTH_SHORT).show();

loadingbar.dismiss();}

});

} else {

Toast toast = Toast.makeText(this, "Passwords do not match",


Toast.LENGTH_SHORT);

toast.setGravity(Gravity.CENTER, 0, 0);

toast.show();} }

; } catch (Exception e)

{ e.printStackTrace(); } }}

You might also like