Professional Documents
Culture Documents
Flutter RideSharing Application
Flutter RideSharing Application
Submitted by
of
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING
K.L.N.COLLEGE OF ENGINEERING
i
ANNA UNIVERSITY: CHENNAI 600 025
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
Pottapalayam, Pottapalayam,
INTERNAL EXAMINAR
ii
ACKNOWLEDGEMENT
We would like to express our deep gratitude and heartfelt thanks to Dr.P.R.
VIJAYALAKSHMI,M.E., PH.D., Head of the Department of Computer Science
and Engineering, K.L.N College of Engineering, who motivated and encouraged
us to do this outrival project for this academic year.
Finally, we thank the Almighty for giving the full health to finish the
mini-project successfully.
iii
ABSTRACT
so that more than one person travels in a bike/car. By having more people using one
vehicle, carpooling reduces each person's travel costs such as fuel costs, tolls, and
congestion on the roads, and the need for parking spaces. Authorities often
encourage carpooling, especially during high pollution periods and high fuel prices.
Carpooling has become a practical, cheap and stress-free way to move around.
features, compared to available applications, are ease of use, secure and strong
authentication system and cross-platform integration. This app is ideal for students
looking for a ride to and from college, saving them money as well as the hassles of
commuting using public transport. For the scope of this project, one client
improvement to this project given that the server is compatible with these
iv
TABLE OF CONTENTS
ABSTRACT iv
TABLE OF CONTENTS v
DICTIONARY vi
1 INTRODUCTION 1
1.1 MOTIVATION 2
1.2 PURPUOSE 2
1.3 APROACH 2
2 LITERATURE SURVEY 3
3 SYSTEM ANALYSIS 4
3.1 EXISTING SYSTEM 4
3.2 PROPOSED SYSTEM 5
3.2.1 ADVANTAGES 5
v
5.2.3 OFFER RIDE 10
5.2.4 SEEK RIDE 11
6 SYSTEM DESIGN 12
6.1 SYSTEM ARCHITECCTURE 12
6.2 DATA FLOW DIAGRAM 13
6.3 MODELLING RULES 14
7 SOFTWARE DESCRIPTION 15
7.1 FLUTTER 15
7.1.1 FEATURES OF FLUTTER 16
7.2 DART 16
8 SYSTEM TESTING 17
8.1 SOFTWARE TESTING 17
8.2 TYPES OF TESTING 17
8.2.1 SYSTEM TESTING 18
8.2.2 INTEGRATION TESTING 18
8.2.3 PERFORMANCE / FIELD TESTING 18
8.3 TEST OBJECTIVES 18
9 SAMPLE CODING 19
10 CONCLUSION AND DISCUSSION 22
10.1 RESULT ANALYSIS 22
10.2 SCREENSHOTS 23
11 CONCLUSION 26
12 FUTURE ENHANCEMENT 27
13 REFERENCES 28
vi
DICTIONARY
TERM DEFINITION
CARPOOL/BIKEPOOL Ride-sharing between two students.
DRIVER Any person that owns a vehicle and
wants to go from one place to another
and willing to provide ride for his
colleague.
PASSANGER Any person that doesn’t own a vehicle
and wants to join a driver in a trip he
posted and agrees to all the condition
specified (price and general behavior).
CROSS-PLATFORM Cross-platform development is the
creation of software application that
are compatible with multiple mobile
operating systems.
FIREBASE Google’s cloud database technology.
vii
CHAPTER 1
INTRODUCTION
In Mudurai alone, there are 230,000 vehicles plying on the roads at any point
point of time essentially a 55% increase in the past 5 years and this figure is
increasing steeply everyday
1. Pollution
1
1.1 Motivation
With the increase of environmental concerns and the congestion of roads, ride-
sharing has gained a lot of popularity when it comes to environment-friendly and
cheap ways of travelling. Carpooling is when two or more persons share a ride in
one of their personal vehicles. Carpooling reduces pollution since we have less
vehicles on the road. It’s also economic since the travel expenses are shared among
the riders.
1.2 Purpose
1.3 APPROACH
The approach is to serve all those students who are going on for colleges, have
some seats vacant and are willing to pickup and drop students for some money.To
use the power of social media and geo-location and make an application in ride-
sharing domain, more usable and trustworthy. This gives carpooling extra flexibility,
and enables more students to shae journeys and save money.
2
CHAPTER 2
LITERATURE SURVEY
The first step of my project consisted of assessing the different available carpooling
applications in order to come up with requirements along with improvements. Given
that Play Store is the official source of applications of Android, I used their search
engine to find carpooling application by typing the keyword “carpooling”. A set of
similar applications that hold the same icon showed up in the results. All those
applications are from the same publisher but the difference between them is that each
one is for a different country (carpooling.fr, carpooling.co.uk, …). After installing
one of this set of applications and exploring the different features, I found out that it
was offering trips between two cities along with frequent trips.
• The ride sharing facility is strictly from a meeting point or residence to the
college and vice versa.
After exploring the different applications, I came up with essential features that
are feasible and also some improvements that should be considered.
3
CHAPTER 3
SYSTEM ANALYSIS
Current applications are only available through android and not as a web
application.They are difficult to use and need additional functionality to be
useful.These applications have a prepaid account or online wallet system to pay
for the ride.After exploring the different applications, I came up with essential
features that are feasible and also some improvements that should be
considered.Existing applications are open only to corporate clients as it requires
a corporate email for registration.
User accounts for both the ride providers and the ride seekers.
Use GPS to find nearby ride providers.
Integrating google maps so that the ride provider can provide his
detailed route and then the potential passengers can view and decide
their pickup and drop location.
4
User profile which will have vehicle details like registration number, of
the vehicle apart from the profile details of the user fetched from his
google account.
3.2.1 ADVANTAGES
For feasibility analysis, some understanding of the major requirements for the
system is essential.
1) Economical Feasibility
2) TechnicalFeasibility
3) Social Feasibility
5
3.3.1 ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour into the
research and development of the system is limited. The expenditures must be
justified. Thus the developed system as well within the budget and this was achieved
because most of the technologies used are freely available.
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on
the available technical resources. This will lead to demands on the available
technical resources. This will lead to high demands being placed on the client. The
developed system must have a modest requirement, as only minimal or null changes
are required for implementing this system.
The aspect of study is to check the level of acceptance of the system by the
core user of this project ( College Students). The user must not feel unsecured by the
system. The level of acceptance by the students solely depends on creating awarness
among students on environmental pollution and cost savages.
6
CHAPTER 4
SYSTEM SPECIFICATION
Language : Dart
7
CHAPTER 5
SYSTEM IMPLEMENTATION
Since all the operations that can be done using the application requires both
the driver and passenger to be authenticated in. For this matter, the user is prompted
to give the mobile number and asks for OTP verification.
8
FIGURE 5.1: OTP AUTHENTICATION UI
5.2.2 Registration
This module takes in all the relevant information pertaining to both the users - ride
providers and ride sharers.
9
5.2.3 Offer Ride
In this module, a user who has vacant seats in a vehicle and is going in a particular
direction, say from point A to B fills in necessary details such as Name, License
plate number, the route that he follows to get to his destination using Google Maps
into the application which is then accessible to all other members who are registered
in the application. The person offering the ride has the liberty to accept or decline
requests from other users looking to pool with him or her.
Ride Provider :
• Start Location
• Start time of Journey
• Destination Location
• Share Ride
• Request Money
10
5.2.4 SEEK RIDE
Ride Seeker :
• Share Location
• Accept Shared Ride
• Contact number of driver
• Pay with in app directly
11
CHAPTER 6
SYSTEM DESIGN
12
6.2 DATA FLOW DIAGRAM
The DFD is also called as bubble chart. It is a simple graphical formalism that
can be used to represent a system in terms of the input data to the system,
various processing carried out on these data, and the output data is generated
by the system.
The data flow diagram (DFD) is one of the most important modeling tools. It
is used to model the system components. These components are the system
process, the data used by the process, an external entity that interacts with the
system and the information flows in the system.
DFD shows how the information moves through the system and how it is
modified by a series of transformations. It is a graphical technique that depicts
13
information flow and the transformations that are applied as data moves from
input to output.
DFD is also known as bubble chart. A DFD may be used to represent a system
at any level of abstraction.
All processes must have at least one data flow in and one data flow out.
All processes should modify the incoming data, producing new forms of
outgoing data.
Each data store must be involved with at least one data flow.
Each external entity must be involved with at least one data flow.
14
CHAPTER 7
SOFTWARE DESCRIPTION
SPECIFICATION
Flutter Framework
Flutter is an open-source UI software development kit created by Google.
Dart
Dart is a programming language designed for client development, such as for
the web and mobile apps. It is developed by Google and can also be used to
build server and desktop applications.
OPERATING SYSTEM : WINDOWS10
7.1 FLUTTER
The first version of Flutter was known as codename "Sky" and ran on the Android
operating system. It was unveiled at the 2015 Dart developer summit,with the stated
intent of being able to render consistently at 120 frames per second.During the
keynote of Google Developer Days in Shanghai, Google announced Flutter Release
Preview 2, which is the last big release before Flutter 1.0. On December 4, 2018,
Flutter 1.0 was released at the Flutter Live event, denoting the first "stable" version
of the Framework. On December 11, 2019, Flutter 1.12 was released at the Flutter
Interactive event.
15
On May 6, 2020, the Dart SDK in version 2.8 and the Flutter in version 1.17.0 were
released, where support was added to the Metal API, improving performance on iOS
devices (approximately 50%), new Material widgets, and new network tracking.
DART
Dart is a programming language designed for client development, such as
for the web and mobile apps. It is developed by Google and can also be used to
build server and desktop applications.
16
CHAPTER 8
SYSTEM TESTING
Unit testing
Integration testing
Performance/ Field testing
17
8.2.1 SYSTEM TESTING
This phase tests to see how the classes interact with each other. The
application is tested as a whole to make sure there are no glaring runtime bugs
Testing done mostly on Android emulator.
Software Testing has different goals and objectives. The major objectives of
Software testing are as follows:
Finding defects which may get created by the programmer while developing
the software.
Gaining confidence in and providing information about the level of quality.
To gain the confidence of the customers by providing them a quality product.
All the above system testing strategies are carried out in as the development,
Documentation and institutionalization of the proposed goals and related policies is
essential.
18
CHAPTER 9
SAMPLE CODING
19
GETTING LOCATION DATA
Figure 9.2:Coding sample for get user location and store it in firestore
20
CLASS FOR USER DATA FORMAT
21
CHAPTER 10
22
10.2 SCREENSHOTS
23
Figure 10.4: Google Map integration and Offer ride Dialog
Figure 10.4 describe the Live location of nearby users using Google map
integration and Offer ride confirmation dialog.
24
Figure 10.5: Ride page and User Profile UI
25
CHAPTER 11
CONCLUSION
This paper elaborates the proposed system which consists of 5 main modules which
are Authentication, Offer a ride, Seek a ride, Registration, and Profile. This system
involves support from Google maps services and GPS module to provide user
specific services and through Feedback the user experiences are recorded for rating
the users. The main purpose of this paper is to illustrate the initial prototype of the
proposed system.
26
CHAPTER 12
FUTURE ENHANCEMENT
• Our future plans include to allow change of search criteria easily on the map
27
CHAPTER 13
REFERENCES
[1]. www.wikipedia.com
[2].http://timesofindia.indiatimes.com/business/india-business/Frances-BlaBlaCar-
drives-into-India/articleshow/45878176.cms
[3]. www.blablacar.in
[4].http://www.yourarticlelibrary.com/pollution/vehicular-pollution-in-india-2118-
words/19796/
[5]. http://developer.android.com/training/volley/index.html
[6]. https://developers.google.com/cloud-messaging/gcm
[7]. https://developers.google.com/maps/documentation/android-api/
[8]. https://developers.google.com/maps/documentation/directions/intro
[9].https://jeffreysambells.com/2010/05/27/decoding-polylines-from-google-maps-
direction-api-with-java
[10]. https://developers.google.com/places/android-api/autocomplete
[11]. http://javapapers.com/android/android-location-using-gps-network-provider
[12]. https://en.wikipedia.org/wiki/Reverse_geocoding
28