0% found this document useful (0 votes)
1K views38 pages

Graduation Project Report

This document provides information about a graduation project report for a public transportation mobile application created by four students. It includes an examination committee signature page, acknowledgements, abstract, and table of contents. The project aims to develop a mobile application using Flutter and Firebase that connects bus and taxi services in Jordan to help passengers save costs, time, and effort while reducing traffic.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views38 pages

Graduation Project Report

This document provides information about a graduation project report for a public transportation mobile application created by four students. It includes an examination committee signature page, acknowledgements, abstract, and table of contents. The project aims to develop a mobile application using Flutter and Firebase that connects bus and taxi services in Jordan to help passengers save costs, time, and effort while reducing traffic.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

AL-Balqa Applied University

Faculty of Engineering
Electrical Engineering Department

Graduation Project Report

Public Transportation Mobile Application

Prepared by:
Laith Zuhair Abdeljabar
Roa’a Sami Hussein
Neda’a Ibrahim Alseidi
Ibrahim Mohammad Shahrouri

Supervised by:
Dr. Issa Qiqieh

Semester: Second 2021/2022


Date: March, 2022
EXAMINATION COMMITTEE SIGNATURE

We certify that we have read the project entitled “Public transportation


mobile application” and as an examining committee, examined the
students in its context and that in our opinion it is adequate with
____________ standing as a graduation project for the degree of B.Sc. in
Computer Engineering.

Supervisor Name

Dr. Issa Qiqieh

Committee Member Name

_____________________

Committee Member Name

_____________________

i|P age
ACKNOWLEDGEMENT

}‫ت‬ٍ ‫َّللاُ الهذِينَ آ َمنُوا ِمن ُك ْم َوالهذِينَ أُوتُوا ْال ِع ْل َم دَ َر َجا‬


‫{ يَ ْرفَ ِع ه‬:‫قال تعالى‬
First and foremost, praises and thanks to the God, the Almighty, for
His showers of blessings throughout our project work to complete the
project successfully.
We would like to express our sincere gratitude to our supervisor
Dr. Issa Qiqieh for the continuous support of our project idea for his
patience, motivation, enthusiasm, and immense knowledge. His
guidance helped us in all the time of graduation project report and
writing of this project. We could not have imagined having a better
supervisor and mentor for our BSc project. He has taught us the
methodology to carry out the report and to present the graduation
project report works as clearly as possible. It was a great privilege
and honor to work and study under his guidance. Sincere thanks also
to our distinguished professors in the Department of Computer
Engineering, you were an example to aspire, and a means that
prepared us during our study years.
This journey would not have been possible without the support of our
professors, mentors, and friends. So, our thanks go to all the people
and colleagues, who have supported us to complete the graduation
project report work directly or indirectly.
Last but not the least, we also thank our family who encouraged us
and prayed for us throughout the time of our graduation

ii | P a g e
Abstract

The fast progress of smart devices and applications in the mobility


sector in Jordan open up a huge potential for novel mobility services
that allow for an individualization of mobility patterns for citizens.
In combination with an increasing infrastructure of public transport
and diverse means of transportations in Amman and most recently
The Bus Rapid Transit (BRT), novel mobility concepts do represent
a promising solution to societal changes and mobility needs.

In this project we are going to create an application with an easy user


interface that connects the BRT and the shared taxi in a manner that
helps in saving costs, effort and time for the passenger, reducing
traffic with the least costs and efforts.

We will develop this application in order to work on mobile devices,


so we will use Flutter and Firebase languages.

iii | P a g e
Table of Contents
EXAMINATION COMMITTEE SIGNATURE ...................................................................................... i
ACKNOWLEDGEMENT ...................................................................................................................... ii
ABSTRACT.......................................................................................................................................... iii
TABLE OF CONTENTS....................................................................................................................... iv
LIST OF FIGURES ................................................................................................................................ v
LIST OF TABLE ................................................................................................................................... v
CHAPTER ONE: INTRODUCTION ...................................................................................................... 1
1.1 OVERVIEW ................................................................................................................................. 2
1.2 PROPOSED SYSTEM.................................................................................................................. 3
1.3 RELATED WORK ....................................................................................................................... 3
1.4 OBJECTIVE ................................................................................................................................. 5
1.5 IMPORTANCE ............................................................................................................................ 5
1.6 PROJECT PLANNING................................................................................................................. 6
CHAPTER TWO: LITERATURE SURVEY ........................................................................................... 8
2.1 SMARTPHONE ........................................................................................................................... 9
2.2 MOBILE APPLICATION ........................................................................................................... 14
2.3 ANDROID OPERATING SYSTEM ............................................................................................ 15
2.4 FLUTTER ................................................................................................................................... 16
2.5 FIREBASE .................................................................................................................................. 19
CHAPTER THREE: SYSTEM DESIGN ............................................................................................... 20
3.1 APPLICATION NAME AND LOGO ......................................................................................... 21
3.2 APPLICATION DESIGN ........................................................................................................... 23
CHAPTER FOUR: SYSTEM IMPLEMENTATION ............................................................................. 24
4.1 PROGRAMMING LANGUAGE ................................................................................................ 25
4.2 APPLICATION SCREENS ........................................................................................................ 26
CHAPTER FIVE: CONCLUSIO ........................................................................................................... 28
5.1 PROJECT EVALUATION ......................................................................................................... 29
5.2 PROJECT PROBLEMS .............................................................................................................. 29
5.3 FUTURE WORK........................................................................................................................ 30
5.4 CONCLUSION .......................................................................................................................... 31
REFRENCESS ...................................................................................................................................... 32

iv | P a g e
List of Figure
FIGURE (1.1): GANTT CHART............................................................................................................. 7
FIGURE (2.1): FIVE KEY PHASES IN THE EVOLUATION OF SMARTPHONE APP ..................... 10
FIGURE (2.2): SMARTPHONE OPERATING SYSTEMS USAGE WORLDS STATISTIC ................ 13
FIGURE (3.1): APPLICATION LOGO ................................................................................................ 22
FIGURE (4.1): BRTaxi APP MOBILE LOGIN / REGISTRATION ...................................................... 26

List of Tables
TABLE (1.1): SOFTWARE TOOLS AND HARDWARE REQUIREMENT........................................... 6

v|P ag e
CHAPTER 1
Introduction
1.1 Introduction
In recent years, technological and social forces have pushed smartphone applications
(apps) from the fringe to the mainstream. Understanding the role of transportation apps
in urban mobility is important for policy development and transportation planners. The
fast progress of smart devices and applications in the mobility sector open up a huge
potential for novel mobility services. Looking to the future, smartphone applications
and more specifically multimodal aggregators, offer the potential for transportation
planners and policymakers to enhance their understanding of multimodal travel
behavior, share data, enhance collaboration, and identify opportunities for public-
private partnerships. These efforts may lead to new insights in travel behavior, while
at the same time, providing a platform for information that is useful and influences
travel behavior in positive ways.

MOTIVATION
If you have an important appointment in Amman and do not want to arrive late, so you
must leave long before the appointment to ensure that you arrive on time, or you can
schedule your ride, so you are forced to use more than one smartphone app (Amman
Bus, Uber, Karim, ...etc.) to meet your mobility needs, Hence the idea of our project
based on creating a smartphone app that connects the Amman Bus Rapid Transit with
the shared taxi so that you can schedule your ride using a single app. Our app works
as tool for aggregating information about transportation options available to citizens
within Amman. It has a number of applications beyond simply giving consumers
information about the ride. it also collects information on modal selection, time of
travel, transfer points, and journey lengths (time and distance) and it also automatically
book a taxi to ensure that you reach your destination on time.

1|P a ge
Chapter 1: Introduction

When we have to stick to traditional transportation ways, we will increase the burden
of transport. Given that the current technology has opened many doors to facilitate
transportation with minimal effort, time and money, it was necessary for our application
to benefit from these features and to keep pace with current technology in implementing
safe transportation. The vision of the application is to make the different transportation
methods in particular The Bus Rapid Transit BRT and shared taxi work in one
application to facilitate people to take their trips without worry. Therefore, the
application links the Amman Bus Rapid Transit BRT with shared taxis in one
application. Our application targets all segments of society and requires a smartphone
connected to the Internet. The application also aims to facilitate people's movement,
reduce the burden of their trips, save time, effort, and money, and diminish traffic
congestion. The application contains two primary interfaces, one of which is the
passenger interface and the other is the driver interface.

It is not the only application Among the application that provides transportation
facilities, it also has many great features among the transportation applications.
Every public transit application has some features that decide its popularity and revenue
generation. Users judge an application based on the quality and number of features a
transit app offers ease of access.

THE MOST IMPORTANT FEATURES OF THE APPLICATION

A TO B ROUTE PLANNER
This feature allows users to choose location A (usually current location of the user) and
B (the destination of the user). The application then provides recommended routes
combining multiple transportations. Users can either select location by typing the
address or by tapping on the map provided by the application. It is also possible that
user can select one of their favorite places and use it as point A or B. This is a very
common feature among the applications.
2|P a ge
Chapter 1: Introduction

REAL TIME DEPARTURES AND ARRIVALS


Application inform real-time arrivals and departures to their users. This information can
be either accurate or an estimation.

ALERTS
Applications keep its users updated by giving alerts about different issues related to
transits. For example, changes of timetable of a certain line, delay of a line and service
disruption.

STEP BY STEP GUIDE


This feature allows users to be guided by the application while they are performing a
travel. The feature guides the users based on their current position, current time and the
overall situation they are currently in. For example, if they are on a bus it will notify
them when to get off by notification. It may also happen that one of the transits of their
selected route got disrupted, the feature will also notify this phone.

TRIP COST ESTIMATION AND TICKET BUYING


Trip cost estimation feature lets users know about the cost of their trip.

NEAREST TRANSPORT STATION INFORMATION


This feature shows user information of nearest BRT stations. The information usually
includes the location of the nearest station, which lines are leaving from that station and
how to get to the station.

OTHER FEATURES

o Easy and Intuitive User Interface.


o Easy Payment Options.

3|P a ge
Chapter 1: Introduction

Our main object is to create an application with an easy user interface that connects the
BRT and the shared taxi in a manner that helps in saving costs, effort and time for the
passenger, reducing traffic with the least costs and efforts, and providing value to the
passenger’s time and take into account the different methods and methods of selection
Most suitable for passengers to take from the proposed assembly points.

Transport has helped to enhance life over the years and the current world would not be
able to thrive without the ability to transfer things from one place to another. Millions
of individuals around the globe rely on transport to get them to their businesses, homes,
and workplaces every day.

THE IMPORTANCE OF THE APPLICATION


Transport is the foundation of any society.

■ Economies thrive on having the right infrastructure that consists of features such
as proper road links.
■ Many industries require transport to improve their businesses.
■ Helping university students reach their destinations using the best means of
transportation available.
■ Facilitating transportation for school students and those who do not have vehicles
of their own, or uncapable of driving.
■ Workers depend on transport to fulfill their obligations.
■ Good transportation promotes business ventures by enabling the workforce to
move around safely and quickly.

Each day and at every moment, the importance of transportation is apparent. The whole
social, and economic well-being of a nation relies on a well-organized transport system.

4|P a ge
Chapter 1: Introduction

Planning is the first and most important stage in building any project, in which the idea,
its importance and feasibility, the tools required to achieve it, and the division of work
based on the specified period are studied to ensure its completion in the right time and
in the desired form.

1.6.1 THE BEGINNING OF IDEA

Because of everyone’s desire not to be late On his appointments, whether a full-time


job or even a visit to a relative, most people resort to leaving their home several hours
early to avoid being late due to traffic jams or the absence of available taxis or buses.
Hence the idea of our project is to create a transportation application with an easy user
interface that connects BRT and taxis Shared in a way that helps to save expenses,
struggle, and time for the passenger, and reduce traffic with the most negligible
expenses and efforts, taking into account the time of the passengers, so the application
chooses the most appropriate roads and routes for passengers to take them from the
proposed assembly points.

1.6.2 SOFTWARE TOOLS AND HARDWARE REQUIREMENT


One of the stages of planning for any project is to determine the requirements of this
project to make sure that they can be provided and then provided it before starting
to work on the project to make sure that it can be completed in the right way.
Table (1.1): Software tools and hardware requirement.
SOFTWARE TOOLS
Programming language Database Development Photo editor
environment
Dart (Flutter) SQL lite Flutter Photoshop
Firebase
HARDWARE REQUIREMENT
Mobile Internet
Android 3G & 4G

5|P a ge
Chapter 1: Introduction

1.6.3 METHODOLOGY
Building a mobile app is a complex task, as there is a need of looking after a lot of
aspects like the size of devices, memory, smooth running, etc. So Agile methodology
will be followed. Agile methodology divides the development phase into many small
parts each portion is known as a Scrum. each one are given the responsibility of each
Scrum so that the work can be done in an efficient manner and the overall targets
can be achieved. The app must combine a simple interface with rich functionality to
serve its purpose. While front-end development requires a significant effort, building
a backend is an even bigger challenge. Must integrate it with a map platform, public
transport agencies, ridesharing companies, and payment service.

1.6.4 GANTT CHART


Project scheduling (Gantt chart) The most important stages of project planning
because it helps in organizing the delay time and making sure that it is completed in
the required time.

1-Oct-21 20-Nov-21 9-Jan-22 28-Feb-22 19-Apr-22

Data collection

Studying the financial capabilities and the


possibilities of making
the project

Start programming the


application

Test and review the application

Writing the document

Figure (1.1): Gantt Chart

6|P a ge
CHAPTER 2

Background

2.1 Introduction
The chapter talks about smartphone and evolution of smartphone app leading to
smartphone in transportation, then we touched on the means of transportation in
Jordan, specifically what our application referred to, Amman bus repaid transit, its
stations, its routes, and so on. We also talked about it The Airport bus, its ticket and
its route. Finally, we talked about taxis in different countries of the world and what
they are, then we arrived in Jordan in both types: Yellow taxis (Private) and White
taxis (Public).

A smartphone is a cell phone that allows you to do more than make phone calls
and send text messages. Smartphones can browse the Internet and run software
programs like a computer. Smartphones use a touch screen to allow users to
interact with them. There are thousands of smartphone apps including games,
personal-use, and business-use programs that all run on the phone.
Smartphones became widespread in the late 2000s. Most of those produced from
2012 onward have high-speed mobile broadband 4G LTE, motion sensors, and
mobile payment features. In the third quarter of 2012, one billion smartphones
were in use worldwide [1].

7|P a ge
Chapter 2: Background

2.2.A BACKGROUND AND EVOLUTION OF SMARTPHONE APPS

To understand how mobile technologies and smartphone applications are impacting


how people travel, it is helpful to explore the history and trends leading to the growth
of smartphones and mobility applications. This scan identifies five key phases in the
evolution of smartphone apps: basic applications, wireless application protocol, the rise
of proprietary platforms, platform wars, and the rise of multi-platform advanced
features. These phases are summarized in Figure (2.1) below.

Figure (2.1): Five key phases in the evolution of smartphone apps

8|P a ge
Chapter 2: Background

Most recently, in Phase 5, cloud computing and new hardware interfaces are changing
the way people interact with smartphones. In addition to new features, such as Bluetooth
Low Energy (BLE) and near field communications (NFC), other trends are changing
how users interact with apps include:

WIDER USE OF DATA SOURCES


Transportation apps are increasingly drawing upon numerous data feeds, traffic sensors,
device GPS data, self-reported roadway incidents—to offer more accurate predictions
of travel and arrival times to the user.

GREATER USE OF DATA SHARING AMONG APPS AND SERVICES


Apps are increasingly pulling data from multiple sources and third-party apps to offer
summary overviews of important information.

FUNCTIONAL DISAGGREGATION
Apps are becoming less multi-functional and are focusing on fewer key functions.

BUNDLED APPS AS SERVICES


New aggregator services—either new apps or native functions of operating systems—
are assembling data and functions from multiple apps, without the user having to rely
on individual dedicated apps for a diverse set of functions.

These trends are leading to more seamless, targeted, tailored, and real-time services for
the app user. In the near future, searching on-demand mobility options may involve a
single app calling several different apps for different functions (such as mapping,
scheduling, ride providers, social media, and more) so that users are not burdened by
manually switching between multiple apps.

In recent years, there has been a number of hardware and software developments
contributing to the growth of smartphone transportation apps.

7|P a ge
Chapter 2: Background

2.2.B SMARTPHONE IN TRANSPORTATION

Mobile phones are one of the technology that has made its mark and it’s been used for
transportation. One of its advantage is that it’s a portable device with amazing features.

Smartphone apps may be the key to getting people out of their cars and onto mass
transit. Smartphone apps are transforming mobility by improving access to
transportation services, increasing mobility, and enhancing traveler engagement. These
apps are spawning new businesses, services, and mobility models. For example, within
a short period, app-based innovations leapfrogged the livery industry with services,
such as Uber, Careem, and Jeeny. Using smartphones to facilitate mobility is becoming
the new norm. Smartphone apps have transformed the way that many travelers arrange
for-hire vehicle services, plan for trips, or get real-time transportation information.

2.3.A PUBLIC TRANSPORTATION IN JORDAN

Wherever you visit in Jordan you will find affordable public transport options. Though
it can be slow, public transport in Jordan is highly accessible and easy to use.

Transportation and public transportation are one of the basic elements in the daily life
of the population; Given the importance of the services it provides, as the transportation
network consists of public lines available to everyone to transport people from one point
to another in return for a fixed fee. It also includes various facilities of its own, such as
stations and designated parking lots, and provides programs and maps; To provide users
with the necessary information that would facilitate and clarify the mechanism of using
the various methods of public transport, and there are multiple bodies responsible for
managing the means of transport, according to the geographical area; For example, the
Greater Amman Municipality supervises public transportation within the capital. As for
the means of transportation outside Amman, and those that connect Amman with
neighboring governorates, they are affiliated with the Land Transport Regulatory
Authority.

8|P a ge
Chapter 2: Background

For travelers who prefer to experience their trip like a local then these options are a
great choice:

BY AMMAN BUS RAPID TRANSIT


is a bus rapid transit transportation system in Amman, Jordan.

Construction work on the BRT system started in 2010, but was halted soon after amid
feasibility concerns. Resuming in 2015, the first route of the BRT system was
inaugurated in 2021, with the second expected to be operational by end of 2022.
Another BRT route connecting Amman with Zarqa is also under construction and is
expected to be operational by 2023.

Ticket price for all lines are currently at 0.55 Jordanian dinars (around $0.78), bought
either online via the Amman Bus mobile application or as a rechargeable card in
major terminals. Passengers scan their cards or QR codes on phone when boarding
the bus, where the price ticket is subtracted from the available balance. The buses
are air-conditioned, accessible, monitored with security cameras and have free
internet service [2].

9|P a ge
Chapter 2: Background

The BRT system in Amman runs on 2 routes:

1. SWEILEH – JORDAN MUSEUM ROUTE

Figure (2.2): Sweileh – Jordan Museum route

The first route of the BRT system was inaugurated on 27 July 2021, extending from the
Sweileh terminal in northwestern Amman passes by Sports City Circle to the Jordan
Museum terminal in Ras Al-Ain area next to the Jordan Museum and downtown
Amman [2].

10 | P a g e
Chapter 2: Background

2. SWEILEH – MAHATTA ROUTE

Figure (2.3): Sweileh – Mahatta route

The second route of the BRT system is still under construction and is expected to be
operational in 2022. It extends from the Sweileh terminal in northwestern Amman to
the Mahatta terminal in eastern Amman [2].

FIGURE (2.4): AMMAN BUS ROUTE MAP

11 | P a g e
Chapter 2: Background

BY AMMAN AIRPORT BUS


It is a service that aims to provide transportation between Queen Alia International
Airport and Amman according to a specific time schedule in new and comfortable buses
that are equipped in line with the highest tourism standards in order to provide easy,
effective, and cost efficient means of transportation from and to the Airport [3].

Route: North bus station …. Housing bank complex …. Fourth Circle …. Fifth
Circle …. Six Circle …. Seventh Circle …… QAIA & vice versa.

Traveling between Amman and Queen Alia International Airport is an easy and
convenient part of the travel experience with Royal Jordanian. Queen Alia International
Airport enjoys a privileged location that enables Royal Jordanian travelers to easily
reach the most important and wonderful Jordanian cities and tourist sites in the
Kingdom, with multiple transportation options available between the airport and
various locations in the Kingdom. Passengers on Royal Jordanian flights can head to
the passenger terminal located in the Seventh Circle area to take advantage of the
express bus services coming and departing to and from Queen Alia International Airport
every half an hour. From the passenger terminal, travelers can reach any area in Amman
and the rapid bus collection centers for transportation inside Jordan, by taxi or public
transportation. Express bus services cost two dinars, which is equivalent to $2.82 per
person.

12 | P a g e
Chapter 2: Background

BY TAXI
Taxicabs in a single country often share a set of common properties, but there is a wide
variation from country to country in the vehicles used, the circumstances under which
they may be hired and the regulatory regime to which these are subject [4].

Taxis by country:
Egypt (Africa)
Taxicabs are common in Egypt, particularly in the larger cities. The taxi system is
highly decentralized, with the cab generally belonging to the driver and operated as a
private business by him. Consequently, there is some variation in the types of cars used
as taxis, although the Tofaş Şahin (including the licensed version produced by Nasr)
and Hyundai Accent predominate. Drivers must obtain a taxi license from the
government, generally through the offices of the Governorate in which they are based;
however, taxis are permitted to operate between cities. Drivers must also paint their cars
according to a livery unique to each governorate, including painting the license
plate number of the cab on its doors in both Arabic and English. The traditional liveries
of Cairo (black and white) and Alexandria (yellow and black) are well-known to all
Egyptians and indeed across the Arab world from their appearance in Egyptian
film and television.

Figure (2.5): Taxicab in Cairo

13 | P a g e
Chapter 2: Background

Meters are technically required by Egyptian law, but they generally go unused and in
many cases do not even work. The prime exception is in Cairo, where a new class of
taxis with a different livery (white with a black checkered band around the middle) have
electronic meters installed and used. In most other cases, the price of a journey is
generally determined through negotiation or bargaining between the passenger and
driver, either just after the cab is hailed or just after the destination is reached.

Many if not most Egyptian taxi drivers have some education and frequently work
in white-collar professions that nevertheless come with low pay (generally low-level
government work, including education); taxis are a common source of supplemental
income for many Egyptian families. Consequently, taxi drivers are a common source
of vox populi for foreign media sources.

Figure (2.6): Taxicab in Cairo

14 | P a g e
Chapter 2: Background

Italy (Europe)
In Italy, taxicabs are white (previously they were yellow, in the 1950s and 1960s they
were green-black or red), with a small illuminated TAXI white (previously red) sign on
a black background on the roof of the car. There are 25,186 taxis in the country (1 for
every 2,412 people). Mercedes-Benz, Ford and Fiat models are common. MPV or
minivan taxicabs are also prevalent, such as the Fiat Multipla, Fiat Ulysse, Fiat
Doblo and Ford Galaxy. There is at the present time a harsh political struggle between
people who advocate deregulation of taxi licences and those who are against it.

Figure (2.7): Taxicab in Italy

Colombia (South America)


In Colombia, taxicabs are yellow in most cities. The most common taxicab is
the Hyundai Atos, praised for its fuel economy. Other similar, popular taxicab vehicles
include the Chevrolet Matiz and the Kia Picanto.

15 | P a g e
Chapter 2: Background

Jordan (Asia)
Taxis around Amman are relatively cheap in comparison to the UK, there are yellow
taxis and those that wait outside supermarkets e.g. Cosmo which tend to be more
expensive but the cars are normally in better condition however here are a few tips to
keep you on the right track.Standard Amman yellow taxis have a green sign on the
door. They are restricted to Amman, so if you want to go to Zarqa for example, they
will not be able to take you. The Zarqa taxis have similar restrictions and a different
colour sign on the door [5].

Figure (2.8): Taxicab in Jordan

The white taxis are restricted to driving one route only. They are more like buses, and
will stop to pick up other people along their route. So if you want to go to a particular
place which is not on his route, he will not be able to take you [5].

Figure (2.8): Taxicab in Jordan

16 | P a g e
CHAPTER 3
SOFTWARE

3.1 Introduction
The third chapter is concerned with programming, as all the software and programming
languages used during the implementation of this project were mentioned, starting with
the flutter, introducing it, identifying its most important advantages and disadvantages,
and the language used in it, which is the language of Dart, where it was defined, down
to the databases used in our application for this project, where SQLite and Firebase
occupied that task was talked about briefly.

Software is a set of instructions, data or programs used to operate computers and


execute specific tasks. It is the opposite of hardware, which describes the physical
aspects of a computer. Software is a generic term used to refer to applications,
scripts and programs that run on a device. It can be thought of as the variable part
of a computer, while hardware is the invariable part.

The two main categories of software are application software and system software.
An application is software that fulfills a specific need or performs tasks. System
software is designed to run a computer's hardware and provides a platform for
applications to run on top of.

17 | P a g e
Chapter 3: Software development

3.2.A FLUTTER DEFINITION

Flutter is the newest framework to make a splash in the world of mobile app
development. Here, we delve more into what the Flutter framework is, its benefits and
drawbacks [6].

3.2.B WHAT IS THE FLUTTER FARMEWORK

Flutter is Google’s free and open-source UI framework for creating native mobile
applications. Released in 2017, Flutter allows developers to build mobile applications
for both iOS and Android with a single codebase and programming language. This
capability makes building iOS and Android apps simpler and faster.
The Flutter framework consists of both a software development kit (SDK) and their
widget-based UI library. This library consists of various reusable UI elements, such as
sliders, buttons, and text inputs.
Developers building mobile applications with the Flutter framework will do so using a
programming language called Dart. With a syntax like JavaScript, Dart is a typed object
programming language that focuses on front-end development [6].

3.2.C WHY IS FLUTTER USED

Although Flutter is a newer cross-platform framework, more and more companies have
chosen Flutter over frameworks such as Xamarin, Cordova, and React Native.

Some of the top reasons why development teams choose Flutter include:

INCREASED PRODUCTIVITY
Using the same codebase for iOS and Android saves both time and resources. Flutter’s
native widgets also minimize time spent on testing by ensuring there is little to no
compatibility issues with different OS versions.

18 | P a g e
Chapter 3: Software development

EASY TO LEARN
Flutter allows developers to build native mobile applications without needing to access
OEM widgets or use a lot of code. This, in addition to Flutter’s particularly appealing
user interface, makes the mobile app creation process much simpler.

GREAT PERFORMANCE
Users report that it is difficult to notice the difference between a Flutter app and a native
mobile app.

COST-EFFECTIVE
Building iOS and Android apps with the same codebase is essentially building two apps
for the price of one.

AVAILABLE ON DIFFERENT IDEs


Developers are free to choose between Android Studio and VS Code to edit their code
on Flutter.

GREAT DOCUMENTATION & COMMUNITY


Flutter has many great resources to answer your questions, thanks to its ample
documentation with easy-to-follow use cases. Flutter users also benefit from
community hubs like Flutter Community and Flutter Awesome for exchanging ideas.

3.2.D BENEFITS AND DRAWBACKS OF THE FLUTTER FRAMEWORK

Although Flutter is not yet widely adopted, an increasing number of tech companies
have started realizing its potential. Some notable Flutter applications include Google
Ads, eBay Motors, Philips Hue, and Xianyu from Alibaba.
Let us look at some of the benefits that Flutter offers, as well as some of their
drawbacks.

19 | P a g e
Chapter 3: Software development

BENEFITS OF FLUTTER APP DEVELOPMENT

Flutter offers a wide range of benefits for business folks and developers alike.
Flutter offers good quality for reasonable costs, as well as great usability and speed.

Development goes faster when the same code is used for both iOS and Android
applications. Flutter’s singular codebase speeds up time-to-market while cutting
mobile app development costs significantly.

Flutter app performance is equivalent to that of native real-time applications. Unlike


other frameworks, Flutter apps do not need a bridge to interact with native
components. Since these bridges typically cause performance issues, this gives
Flutter a decided advantage.

Flutter’s “hot reload” feature allows developers to change the code on emulators,
simulators, or real devices, and see results in real-time. The changed code is then
reloaded immediately while the app is running. No restart required. Hot reloads
make building UIs, adding features, and bug fixing simpler than ever.

DRAWBACKS OF FLUTTER APP DEVELOPMENT

While Flutter app development presents a lot of positives, it is also important to consider
the lesser aspects of the framework:

Flutter is relatively new. While Flutter offers many plugins and UI components,
frameworks like Xamarin and React Native offer a much larger selection. While
Flutter will not be the new framework on the block forever, this is the situation now.

Dart is not very popular. While it is a great programming language, developers are
often much more likely to consider languages such as Java or Kotlin.

Some components are only available for iOS or Android, but not both. These types of
components more often support Android since Flutter comes from Google, and Android
developers are typically more interested in Flutter than iOS developers.

20 | P a g e
Chapter 3: Software development

3.3.A WHAT IS DART

Dart is a client-optimized language for developing fast apps on any platform. Its goal
is to offer the most productive programming language for multi-platform development,
paired with a flexible execution runtime platform for app frameworks.

Languages are defined by their technical envelope — the choices made during
development that shape the capabilities and strengths of a language. Dart is designed
for a technical envelope that is particularly suited to client development, prioritizing
both development (sub-second stateful hot reload) and high-quality production
experiences across a wide variety of compilation targets (web, mobile, and desktop).

Dart also forms the foundation of Flutter. Dart provides the language and runtimes that
power Flutter apps, but Dart also supports many core developer tasks like formatting,
analyzing, and testing code [6].

3.4.A WHAT IS SQLite

SQLite is an in-process library that implements a self-contained, server less, zero-


configuration, transactional SQL database engine. It is a database, which is zero-
configured, which means like other databases you do not need to configure it in your
system.

SQLite engine is not a standalone process like other databases, you can link it statically
or dynamically as per your requirement with your application. SQLite accesses its
storage files directly [7].

21 | P a g e
Chapter 3: Software development

3.5.A WHAT IS FIREBASE

Firebase is a Backend-as-a-Service (Baas). It provides developers with a variety of


tools and services to help them develop quality apps, grow their user base, and earn
profit. It is built on Google’s infrastructure.
Firebase is categorized as a NoSQL database program, which stores data in JSON-like
documents [8].

IN FIREBASE, A DOCUMENT IS A SET OF KEY-VALUE PAIRS DEFINED BY A


SCHEMA. A GROUP OF DOCUMENT MAKES UP A COLLECTION.

3.5.B KEY FEATURES

1. AUTHENTICATION
It supports authentication using passwords, phone numbers, Google, Facebook, Twitter,
and more. The Firebase Authentication (SDK) can be used to manually integrate one or
more sign-in methods into an app.

2. REALTIME DATABASE
Data is synced across all clients in real-time and remains available even when an app
goes offline.

3. HOSTING
Firebase Hosting provides fast hosting for a web app; content is cached into content
delivery networks worldwide.

4. TEST LAB
The application is tested on virtual and physical devices located in Google’s data
centers.

5. NOTIFICATIONS
Notifications can be sent with firebase with no additional coding.

22 | P a g e
CHAPTER 3
SYSTEM DESIGN

3.2 Introduction

23 | P a g e
Chapter 3: System design

3.2.A THE IMPORTANCE OF DESIGNING A LOGO FOR THE APP

Professional app logo and the choice of the appropriate name have an important role
in persuading and enticing users and making them think more about the app. Hence,
the logo and name of the application have become an important part of developing
applications that express the application, so it is very important for it to be an
expressive and attractive logo, and below we will mention the importance of
designing a professional logo and choosing the most appropriate name for an
application.

A PROFESSIONAL LOGO MAKES AN UNFORGETTABLE IMPRESSION


Experts believe that users decide about a product within the first third of a second from
their first look. The logo and the name of the app are often the first thing they see, so a
well- designed logo is enough to entice users and make them think of downloading the
app. The color of the logo, the font used in it, the font size and style say a lot about the
application, so you need to make sure that the design of the application answers the
questions: what the application is and what does it offer, as the design can influence the
user and make him take a step to download the application.

CLARIFIES THE CONCEPT OF THE APPLICATION AND ITS NECESSITY


The most important benefits and features of designing a professional logo are that
the professional logo expresses the application’s goal in a concise and useful manner,
and is the clearest and shortest way to explain to users the strategy and goal of the
application, as users always prefer to understand the application’s goal from the logo,
instead of reading long articles.

3.2.B CHOOSE A NAME FOR THE APPLICATION

When choosing the most appropriate name, it must be considered that the name is short,
easy to memorize and use, and expresses the content of the application.

24 | P a g e
Chapter 3: System design

In the case of the application designed specifically for passengers, it should be easy to
understand this name and at the same time express the content of the application and
the category to which it is directed.
In this application, this category is all ages, so the name “BRTaxi” was decided for
ease memorize and express the content of the application that helps passengers
complete their trips with the least costs and efforts, shortest distances and saving time.

3.2.C APPLICATION LOGO DESIGN

When we talk about a logo for an application designed for transportation, the logo must
express the meaning and purpose of the application and be consistent in shape and color
to attract the interest of the passenger. The logo that was designed for the BRTaxi
application contains a set of elements that express the purpose of this application:

1. First, the logo contains two sides, a horizontal side and a vertical one. The
horizontal side represents one of the means of transportation used, which is The
Bus Rapid Transit (BRT), while the other side represents the other means, which
is the shared taxi.
2. Three main colors were used in the logo design: Blue which was used to express
The Amman Bus. Yellow was used to express taxi. While Gray was used in the
two words, thus symbolizing the participation of the two means in the same
application.
3. Finally, the logo contains the name of the application BRTaxi.

Figure (3.1): Application logo

25 | P a g e
Chapter 3: System design

It is important before starting the programming process that there is a preliminary


design for the number and type of screens and a way to move between them.

3.3.A OVERALL APPLICATION DESIGN

FIGURE (3.2): FLOWCHART & SCREENS OF OVERALL APP DESIGN

SPLASH
SCREEN

Registration

SUGGESTED
BUS TAXI AIRPORT BUS
ROUTE

As described above in Figure (3.2) the flowchart that represent overall application
design. In the overall design of the application, the thinking was initially in the start
screens of the application, then the general sections of the application, and in the case
of the BRTaxi application, the initial sections were the transport used. This is to ensure
that the customer chooses the most appropriate way to complete his trip and is informed
of all available means.

26 | P a g e
Chapter 3: System design

Figure (3.3): BRTaxi app mobile login / registration

1. The beginning of the application starts with a splash screen

27 | P a g e
Chapter 3: System design

28 | P a g e
Chapter 3: System design

29 | P a g e
REFRENCESS

1 https://www.computerhope.com/jargon/s/smartphone.htm#:~:text=A%20smartp
2 https://en.wikipedia.org/wiki/Amman_Bus_Rapid_Transit
3 https://sariyahexpress.com/airport-express/
4 https://en.m.wikipedia.org/wiki/Taxis_by_country
5 https://sites.google.com/site/lifeinjordan/travel-maps/taxis
6 https://www.perfecto.io/blog/what-is-flutter-framework
7 https://www.educative.io/edpresso/what-is-firebase
8 https://dart.dev/overview
9 https://www.tutorialspoint.com/sqlite/sqlite_overview.htm

30 | P a g e

You might also like