You are on page 1of 35

SHAREMYRIDE

RIDE-SHARING CROSS PLATFORM APPLICATION


A MINI PROJECT REPORT

Submitted by

ARUN BALAJI R (910618104012)


ARUN RS (91018104119)
ABINASH P (910618104701)
In partial fulfillment for the award of the degree

of

BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING

K.L.N.COLLEGE OF ENGINEERING

ANNA UNIVERSITY: CHENNAI 600 025


APRIL 2021

i
ANNA UNIVERSITY: CHENNAI 600 025
BONAFIDE CERTIFICATE

Certified that this mini-project report “RIDE-SHARING CROSS PLATFORM


APPLICATION – SHARE MY RIDE” is the bonafide work of “ARUN BALAJI
R (910618104012) , ARUN RS (910618104119) , ABINASH P (910618104701)
” who carried out the mini-project under my supervision.

SIGNATURE SIGNATURE

Dr.P.R.VIJAYALAKSHMI Mrs.G. RAJESWARI

HEAD OF THE DEPARTMENT SUPERVISOR

PROFESSOR ASSISTANT PROFESSOR

Computer science and engineering Computer science and engineering

K.L.N. College of Engineering, K.L.N. College of Engineering,

Pottapalayam, Pottapalayam,

Sivagangai-630 611. Sivagangai-630 611.

Submitted for the mini-project viva-voce conducted on

INTERNAL EXAMINAR

ii
ACKNOWLEDGEMENT

The satisfaction and euphoria that accompany the successful completion of


any task would be but incomplete without the mention of the people made it possible,
whose constant guidance and encouragement crowned our efforts with success.

We extend our gratitude to the Founder, Late.Thiru. K.L.N. KRISHNAN,


K.L.N College of Engineeringand Management Members for making us march
towards the glory of success. We express our sincere thanks to our respected
PrincipalDr.A.V.RAM PRASAD, M.E, Ph.D., MISTE.FIE, for all the facilities
offered.

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.

Our profound, delightful and sincere thanks to our mini-projectGuide


Mr.J.SULTHAN ALIKHAN , M.E., and our respected Project
Coordinator,Mrs.G. RAJESWARI , M.E.whose support was inevitable during the
entire period of Our work.
We thank our teaching staffs for sharing their knowledge and view to enhance
our project. We also thank our non-teaching staff for extending their technical
support to us. I thank my parents for giving me such a wonderful life and my friends
for their friendly encouragement throughout the project.

Finally, we thank the Almighty for giving the full health to finish the
mini-project successfully.

iii
ABSTRACT

Carpooling (also ride-sharing, lift-sharing), is the sharing of car/bike journeys

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

the stress of driving. Carpooling is seen as a more environmentally friendly and

sustainable way to travel as sharing journeys reduces carbon emissions, traffic

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.

This project presents the requirement, design and implementation of an enterprise-

class application for carpooling following a Model-View-Control model. The added

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

application is developed using Android. An iOS and Web client may be an

improvement to this project given that the server is compatible with these

technologies as previously stated.

iv
TABLE OF CONTENTS

CHAPTER TITLE PAGE


NO. NO.

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

3.3 FEASIBILITY STUDY 5


4 SYSTEM SPECIFICATION 7
4.1 SOFTWARE REQUIREMENTS 7
4.2 HARDWARE REQUIREMENTS 7
5 SYSTEM IMPLEMENTATION 8
5.1 LIST OF MODULES 8
5.2 MODULE DESCRIPTIONS 8
5.2.1 OTP AUTHENTICATION 8
5.2.2 REGISTRATION 9

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

In order to avoid ambiguities and to facilitate a good comprehension of this


report, following is the frequent used terms.

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

This gives rise to three prime factors:

1. Pollution

2. Depletion and rising rates of fossil fuels

3. Massive traffic congestions

Most of the people, on an average, have to travel 15 km to reach their workplace.


Besides long working hours, the stress of driving a car or a two-wheeler for a
minimum of 40 minutes adds to the exhaustion.The idea is to bring together vehicle
owners and passengers looking for carpool service. The users have to make clear
that they are willing to share personal vehicles with people travelling to the
destination daily. The application seeks details about the starting and end points of
travel which are processed to draw a list of professionals who have identical
requirements.

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.

Finding people to share a ride with is the challenge of carpooling as it is


difficult to find a person going to the same place as you at a given time.

1.2 Purpose

The purpose of this project is to develop an application that tries to overcome


the disadvantages of the other available applications. The application is to be ideal
for students looking for a ride to and from college, saving them money as well as
the hassles of commuting using public transport.

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 literature survey consists of two existing systems named as follows:


A. Blablacar
B. QuickRide
• The major shortcoming of the above applications is that it only offers car-
sharing options and these apps are particularly for overall city which our
application aims to rectify and add bike-sharing options and inter-college
commuting options too.

• 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

3.1 EXISTING SYSTEMS

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.

3.2. PROPOSED SYSTEMS

After exploring the different applications, I came up with essential features


that are feasible and also some improvements that should be considered.For the
scope of this project, the plausible features to implement in order to improve what is
available on the market are:

 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

 It’s a multiplatform application which can be used in Android/IOS as


well as Web application.
 Pay through the app: The payments for trips goes through the
application.
 Map picker: for picking the meeting points
 Application make use of Google maps to find users
position, more convenience for user
 In app Map view available which provides users live location updates.
 It also provides Google places autocomplete API to enter the location
without incurring the short term memory load to remember or
completely type it.

3.3 FEASIBILITY STUDY

For feasibility analysis, some understanding of the major requirements for the
system is essential.

Three key considerations involved in the feasibility analysis are

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.

3.3.2 TECHNICAL FEASIBILITY

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.

3.3.3 SOCIAL FEASIBILITY

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

4.1 SOFTWARE REQUIREMENTS

Operating System : Android / IOS / Web

Framework : Flutter ( Google’s cross-platform development framework)

Language : Dart

Database : Google Firebase

API : Google Places API

IDE : Android studio

Version Control : Github

4.2. HARDWARE REQUIREMENTS

Android : Minumum Android 6+

Speed : 1.1 GHz

RAM : Minumum 512 MB RAM

Storage : Between 10 MB and 1.2 GB.

7
CHAPTER 5

SYSTEM IMPLEMENTATION

5.1 LIST OF MODULES

This work is decomposed into five modules.


 OTP Authentication
 Registration
 Offer Ride
 Seek Ride
 Profile

5.2 MODULES DESCRIPTION

5.2.1 OTP AUTHENTICATION

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.

After the successful verification of mobile number using OTP verification ,


retrieves his info. If he has never logged to the application before, a Registration
form is prompted for enter details of the user.

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.

Figure 5.2 : User data stored in Firebase cloud database

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

FIGURE 5.3 SHARED RIDE DETAILS

10
5.2.4 SEEK RIDE

This module will be responsible of seeking or finding a suitable ride as per


carpoolers’ requirements. Whenever a carpooler or a user searching for a ride queries
the system for availability of rides from source A to destination B, system will check
the user’s current location and reply back with all currently plying rides with
vacancies on the same route within 5 km radius from user’s current location with the
help of Google Maps & GPS module.

Ride Seeker :

• Share Location
• Accept Shared Ride
• Contact number of driver
• Pay with in app directly

FIGURE 5.4 Ride to seeker for accept.

11
CHAPTER 6

SYSTEM DESIGN

6.1 SYSTEM ARCHITECTURE

Figure 6.1: System Architecture of the proposed system

12
6.2 DATA FLOW DIAGRAM

Figure6.2: Data Flow Diagram of the proposed system

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

6.3 MODELING RULES

There are several common modeling rules when creating DFDs:

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

 A data flow must be attached to at least one process.

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

Flutter is an open-source UI software development kit created by Google. It


is used to develop applications for Android, iOS, Linux, Mac, Windows, Google
Fuchsia, and the web from a single codebase.

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.

7.1.1 Features of Flutter


 Same UI and Business Logic in All Platforms.
 Reduced Code Development Time.
 Increased Time-to-Market Speed.
 Similar to Native App Performance.
 Custom, Animated UI of Any Complexity Available.
 Own Rendering Engine.
 Simple Platform-Specific Logic Implementation.
 The Potential Ability to Go Beyond Mobile.

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.

Dart is an object-oriented, class-based, garbage-collected language with C-


style syntax. Dart can compile to either native code or JavaScript. It supports
interfaces, mixins, abstract classes, reified generics, and type inference.

16
CHAPTER 8

SYSTEM TESTING

8.1 SOFTWARE TESTING

Testing is a process of checking whether the developed system is working


according to the original objectives and requirements. It is a set of activities that can
be planned in advance and conducted systematically. Testing is vital to the success
of the system. System testing makes a logical assumption that if all the parts of the
system are correct, the global will be successfully achieved. The best programs are
worthless if it produces the correct outputs.

Software testing is the process of evaluation a software item to detect


differences between given input and expected output. Also to assess the feature of a
software item. Testing assesses the quality of the product. Software testing is a
process that should be done during the development process. In other words software
testing is a verification and validation process.

8.2 TYPES OF TESTING

The following three types of testing are used:

 Unit testing
 Integration testing
 Performance/ Field testing

17
8.2.1 SYSTEM TESTING

We test the classes in code individually to ensure they function as they


should This allows us to find syntax errors in code.

8.2.2 INTEGRATION 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.

8.2.3 PERFORMANCE / FIELD TESTING

Testing done on Realme Android phone. Tests made to measure application


performance Application is then given to users unfamiliar with product totest out
features and provide user feedback.

8.3 TEST OBJECTIVES

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

MAIN MODULES CODING

Figure 9.1:Coding sample of Register user data to firebase

19
GETTING LOCATION DATA

Figure 9.2:Coding sample for get user location and store it in firestore

20
CLASS FOR USER DATA FORMAT

Figure 9.3:Coding sample CLASS for updating user data

21
CHAPTER 10

CONCLUSION AND DISCUSSION

10.1 RESULT ANALYSIS


This carpooling application is an application that complies to the enterprise
class application principles. It is designed to be performing, scalable, extensible,
and highly available. It also ensures the privacy of the users’ data and secures its
access. Given that it may be improved in many ways, the application is also easily
maintainable.

The result achieved in this project is a working Android application and


server that perform the requirements stated in this document. It is still not ready to
be deployed on the Play Store for the public. The constraint that should have been
considered is that developing a server and an Android application demand a lot of
work. This should be considered in the time allowed for each one of these
activities. Due to this lack of time, many things can be improved in the present
application. This includes a better user interface with more attractive styles. Also,
adding more support for authentication systems can be an improvement.

22
10.2 SCREENSHOTS

Figure 10.3: Authentication and Registration UI

Figure 10.3 shows the final User interface of ShareMyRide cross-platform


android application.

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

without going back.

• We wish to implement google push notifications for exchange of notifications

between driver and passenger as it is better method of communication

• Integrate chatting functionality to enhance the communication between ride

provider and passenger.

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

You might also like