Professional Documents
Culture Documents
Niggas Wyldin
Niggas Wyldin
EMPLOYEES
A PROJECT REPORT
submitted in partial fulfilment of the
requirements for the award of the degree
of
Bachelor of Technology (B.Tech)
in
Computer and Communication Engineering
by
Videep Singhal
159103072
May-2019
DECLARATION
I hereby declare that the project entitled ______________________________submitted as part of the partial
course requirements for the course _____________________________, for the award of the degree of Bachelor
of Technology in Computer & Communication Engineering at Manipal University Jaipur during the
____________________________________ semester, has been carried out by me. I declare that the project has
not formed the basis for the award of any degree, associate ship, fellowship or any other similar titles elsewhere.
Further, I declare that I will not share, re-submit or publish the code, idea, framework and/or any
publication that may arise out of this work for academic or profit purposes without obtaining the prior written
Place:
Date:
DEPARTMENT OF COMPUTER AND COMMUNICATION
MANIPAL UNIVERSITY JAIPUR, JAIPUR – 303007 (RAJASTHAN), INDIA
21-May-2019
CERTIFICATE
This is to certify that the project titled Carpooling Application for Tech
Mahindra Employees is a record of the bonafide work done by Videep
Singhal (159103072) submitted in partial fulfilment of the requirements for
the award of the Degree of Bachelor of Technology (B.Tech) in Computer
and Communication Engineering of Manipal University Jaipur, during
the academic year 2018-19.
I would like to thank Dr. Rajveer Singh Shekawat (Director, SCIT) and Dr. Vijaypal Singh Dhaka
(HOD, Dept of Computer and Communication Engineering), for introducing the subject of Major
Project in the final semester. This opportunity has helped me grow and get a good practical experience
of industry and its working. I have learnt various new technologies and have received an opportunity to
work on live projects.
I would also like to thank Mr Sanjeev Sherry (External Guide), for providing me an opportunity to work
on a live project and gain real industry exposure. He has also helped me in selecting the project on-time
and guided me so that I complete my project within the timeframe.
My department guide Dr. Kusum Lata Jain, has helped me at every step to manage the things with the
college. She has been really supportive and has guided me till the completion of this project.
Mr. Gaurav Prasad (Project Coordinator) has been really supportive and has helped me during my
transition from one guide to another.
I would also like to express my special thanks to Ms. Nancy Agarwal (Lead Developer for Android),
for helping and guiding me during the project and update the application on a timely basis.
This internship has helped me gain hands-on experience for tools, studied during my course and gain a
lot of practical knowledge which will be beneficial for my future.
i
ABSTRACT
In the purview of the mission ‘Green India, Clean India’, Tech Mahindra is committed towards saving
fuel and energy consumption. So, as a part of the program, they are launching a carpooling application
service to aid their employees in getting transport to reach the office and also help the person sharing
the ride to make friend as well as save fuel and benefit the society.
Carpooling Application of Tech Mahindra helps you in choosing whether you want to book a ride or
give a ride to a person. If you choose to provide a ride to a person then you will be taken to Google maps
and you will be able to receive requests from people in your vicinity willing to get a ride. This will be
determined by the people nearby in the area and then if you accept the request of the person for a ride,
you will get the details of the person willing to get a ride and the route to be taken. Rider can switch
between online and offline mode in real-time.
For the person who is taking the ride, the person has to register on the portal and after logging in, he/she
will be taken to the take ride page which will have a google map and it will show all the cars and bikes
of the people who are currently online to give a ride to them. They will then be able to book a ride and
when the rider accepts the request, he/she will be able to see the car or bike number, the rider phone
number to contact and the route to the destination. The most important software which is needed is
Google Cloud as it provides us with an integration to Google maps, places and directions api for us to
use in the project for loading google maps and searching for the destination location. The second most
important tool regarding this project is Android Studio, which is used for designing and coding the
application. The third important software is Google Firebase which is used to store the data and create
tables in real-time for all riders and passengers. It also helps in authenticating the email ids of both riders
and passengers.
The second benefit of using this application will be that all riders as well as people taking the ride will
also be able to make new friends and bring strong and healthy relationships with each other.
The parameters which will be present in the application will be –
1. Registration and Login Page for both riders and people taking the ride
2. Give ride and Take ride option
3. Google Maps API integration
4. Range set to check cars and people nearby
5. Checking details of the passenger as well as of the driver
6. Route to move to the passenger
7. Route to the destination
ii
LIST OF TABLES
2. Table-1.2 Road Accidents, Registered Vehicles and Road Length in India 2-3
3. Table-1.3 Pollution rate of various cities 3
4. Table-1.4 Pros and Cons of Carpooling application 4
5. Table-2.1 Terminology to be used throughout report 6
6. Table-3.1 Use case for rider/passenger 13-14
7. Table-3.2 Use case for passenger 14-15
8. Table-3.3 Use case for rider 15-16
iii
LIST OF FIGURES
iv
Contents
Page No
Acknowledgement i
Abstract ii
List Of Tables iii
List Of Figures iv
Chapter 1 INTRODUCTION 1-4
1.1 Introduction to work done 1-2
1.2 Project Statement 2-4
1.3 Organization of Report 4
Chapter 2 BACKGROUND MATERIAL 5-9
2.1 Conceptual Overview 5-6
2.2 Technologies Involved 6
2.3 Functional Requirements 6-8
2.4 Non Functional Requirements 9
Chapter 3 METHODOLOGY 10-20
3.1 Detailed methodology that will be adopted 10-16
16-20
3.2 Circuit Layouts / block diagrams
Chapter 4 IMPLEMENTATION 21-25
4.1 Modules 21-23
4.2 Prototype 23-24
4.3 STEEPLE Analysis 24-25
Chapter 5 RESULTS AND ANALYSIS 25-34
Last
CONCLUSIONS & FUTURE SCOPE
Chapter
5.1 Conclusions 34
5.2 Future Scope of Work 34
REFERENCES 35
Chapter 1
Introduction
I feel quite motivated to work on this project as this project has the potential to take Tech Mahindra to
new heights. It will help the organization to take a forward direction in the area of ‘Clean India, Green
India’, by optimizing the fuel consumption for the vehicles. It will also help people gain new friends
and reach those places easily, where transport is not that easy. This will also help colleagues gain trust
amongst each other. It is also a challenging task to create a mobile application and integrate it with the
Firebase database and it is the first time working on a mobile application, so I will gain skills which will
help me in my future journey in the technical world.
Carpooling Application of Tech Mahindra helps you in choosing whether you want to book a ride or
give a ride to a person. If you choose to provide a ride to a person then you will be taken to Google maps
and you will be able to receive requests from people in your vicinity willing to get a ride.
The overview of this application is choosing whether a user would like to give a ride or take one. If the
user chooses to take a ride, then the algorithm looks for the nearest rider and the request goes to the rider
to accept or cancel the ride.
If the rider chooses to accept the request then the data of rider will be shared to the passenger and he/she
will receive the location to pick the passenger. The rider can choose to cancel if the office, passenger
wishes to go, is out of reach of the rider.
If you chose to take ride then you will have the ability to enter the location and chose if you would like
to travel in a two-wheeler or a four-wheeler. Then the person will be able to call a car or bike for which
the rider will respond.
Registration button is provided for now but will be removed in the future as the common email and
password will be used of HUB portal. Employees can only use Techmahindra ids and all other requests
will be discarded immediately.
This application has a large application and it will save time and money for traveling. Even
Techmahindra office locations are really far-away from the city, so it becomes difficult for employees
to take a ride to the office and reach on time.
It will also help employees build connections among each other and is also suitable for employees
working night shifts, as there is a lack of transport.
Even, every employee getting their own transport is not a feasible situation as air pollution has risen in
a past couple of years and this application will help in curbing the pollution.
This application also has a profile system where you can view who the ride is being provided to, or who
the rider is. This is done keeping in mind the safety issues for female employees. It will help in getting
a clear picture, that the rider is genuine or not.
The main feature of this application is portability. It means that this application can be used by the
company anywhere in the world and features all the locations due to the integration of a global API of
Google Maps, Directions and Places, without any search filters. This application does not have any
revenue system and the rider will not earn anything from the other passenger. This means it is meant for
people going to similar offshore and onshore offices and would like to pick people on the way.
If we look at the particular case of Delhi, a projection has been made that the vehicles on the road will
increase drastically by 2030. This is illustrated in the table below:
If we have a look at the number of people suffering from accidents, these numbers have also shown a
great increase from 1970-2017, which is a negative point of having individual cars per person.
Tabe-1.2 Road Accidents, Registered Vehicles and Road Length in India (1970-2017)
Year Road Road Road Registered Road Fatality Vehicle
Accidents Accident Accident Vehicles Length rate (no. of density
('000) Deaths Injuries ('000) ('000 km) accident (no. of
('000) ('000) deaths per vehicles
10,000 per km
vehicles) of road)
1970 114 15 70 1401 1,189 103.50 1.18
1980 153 24 109 4,521 1,492 53.09 3.03
2
1990 283 54 244 19,152 1,984 28.25 9.65
2000 391 79 399 48,857 3,316 16.15 14.73
2010 500 135 528 1,27,746 4,582 10.53 27.88
2015 501 146 500 2,10,023 5,472 6.96 38.38
2016 481 151 495 2,30,031 5,603 6.55 41.05
2017 465 148 471 NA NA - -
This is a big issue in India, as continuous use of vehicles has led to drastic increase in the pollution level
of Indian cities with Kanpur being the most polluted city. This directly leads to climate change and
Global warming. Due to global warming, we have witnessed a short fall in rain and extreme cold and
hot conditions in country, which is increasing every year.
The cities with their particle pollution rate (pm) is listed below:
Currently Tech Mahindra employs more than 21,840+ employees across 90 countries. This will help in
reducing the pollution to some extent and will also help in generating awareness among companies to
follow suit.
Let us now have a look at some of the pros and cons of our carpooling system:
3
Table-1.4 Pros and Cons of Carpooling application
PROS CONS
Good way to meet and make new friends There will be problem with your privacy
with people because there will be many other people in
the car and even if someone is sick in the
car, you might also catch the same.
You can save a lot of money, fuel and time The person who is driving needs to drive
too while traveling in carpool. safe, because if the person is driving in a
rash manner then you will be prone to
accidents too.
This material has been organized in 5 chapters. Chapter 1, focuses on introduction of the topic and
telling the motivation behind it. It also includes the objectives of the project and why this project is
important for the company.
The second chapter ‘Chapter-2’, depicts the theory used for building this application and how the
application was built by using which technologies. This chapter also includes some of the most crucial
topics such as the functional and non-functional requirements of the system at large for the company.
This is the background material of the project.
The third chapter ‘Chapter-3’ describes the methodology for this project and also depicts the block
diagram this project uses. It depicts all types of class diagrams and also speaks about the tables which
are running in the backend.
The fourth chapter ‘Chpater-4’ is about the implementation of the project and is a crucial chapter as it
consists of a detailed method of application implementations. It discusses all the modules used in this
project and also shows a prototype model of the application created. The major depiction is the use of
STEEPLE Analysis which is quite crucial and helps in confirming the validity of the system.
Fifth Chapter ‘Chapter-5’ is the last chapter and shows all the results achieved by this project. This
chapter also concludes the report and also discusses the future work which can be done to improve the
application to suit needs of people.
4
Chapter 2
Background Material
In the following section we will have a look at the theory which has been used in the carpooling
application. This application is central to the point that it is a meeting place for both the rider and the
passenger, where they can look for a ride or provide one to the workplace.
The main objective of this application is that the rider and the passenger both can take frequent rides
without any charges and can reach their office in an efficient manner. It is quite beneficial for people
working in offshore Tech Mahindra locations, giving them an opportunity to reach office on-time with
the help of co-workers.
The second major functionality of this application is the sharing of details between passenger and the
rider, to avoid any risk of delay. This has also be implemented by sharing the current location of the
rider and that of the passenger.
Users can only use Tech Mahindra email ids which will be provided to the system and will be the same
id and password as of the HUB portal for logging in. Currently registration function is open to avoid
any discrepancies, but will be closed in later stages.
Now let us have a look at the three important terminologies related to this application, which will be
used quite frequently in this report:
a) Users
It is a term used to refer to both the passenger and the rider. A user can either give or take ride according
to their convenience. This has been implemented keeping in mind that if a person car has a puncture or
has gone for service, then the person can take a ride to reach office without hassle. A user of an
application can act as one of the following:
a. A rider is a person who has a car or bike to share and would like to get someone to take them to
the office.
b. A passenger refers to a person who does not have a car or bike, uses public transport or Ola and
Uber to commute to office.
b) Terminology
Here we will have a look at the table with the terminology going to be used in this report:
5
Table-2.1 Terminology to be used throughout report
Terms Definition
c) Dependencies
This carpooling application is highly dependent on getting the location of both rider and the passenger.
It asks for permission first, before accessing the location of the person. This location data is handled
securely with the help of Google Firebase and Google Maps. Application security is also maintained, as
only registered users can use the application, which is done with Techmahindra ids, to ensure
transparency.
The following technologies were used for developing the mobile application. These include:
1. Android Studio – It is used to develop apps in Java and has been used extensively in this project.
The frontend design is created with the help of XML, while the backend coding is supported
with Java.
2. Google Maps API – Google maps has been integrated with the application to display the current
location and book a car.
3. Google Places API – When the passenger logs in, he/she has to choose the destination, which
happens with the help of Google Places API.
4. Google Firebase – Firebase has been used extensively to manage login and registration of
passenger and rider. It also stores location and the riders online currently and passenger near
their location.
2.3.Functional Requirements
a. Requirements of Application:
a.1) Registration and Login Feature – There is an option for registration and login in the
application. All the Techmahindra users will be able to login on the platform. Registering from
the application is only possible for people with Techmahindra ids and not any user from outside
world.
6
a.2) Updating profile information of user- The user has the ability to add vehicle details and
update their profile photo in the application with mobile number to ensure transparency and
phone number sharing among them.
Here you can see the use case diagram of our application and how will this application operate.
More features can be added and the application can be improved.
7
Figure-2.1 Use case diagram (Functional Requirement)
8
2.4.Non Functional Requirements
a. Scalability
This application can cater a large number of users and this can expand slowly from one branch
to another to cater the needs of 21,000+ users.
b. Performance
This app caters to the demand of passengers and drivers by providing users with real time
information and notifications. The app can handle about 1500-2000 queries at a single time.
c. Privacy and Security
The app has a secure environment as only Techmahindra employees can access the app and if
there is some problem with any employee, then a complaint can be made against them.
d. Maintainability
Other features can be added in the application, so it can be maintained easily and has an easy
source code.
9
Chapter 3
Methodology
3.1.Detailed methodology that will be adopted
In this section, we will have a look at the detailed methodology adopted for building this application
and the steps taken.
Waterfall model of creating an application has been adopted and this includes:
Step-1: Register for a Google Cloud Account and enable the Google maps API service. With the Google
maps API service, all the supporting services are also activated like Directions API and Places API, due
to application reliance on them.
This can be seen from the below figure that all the necessary services are activated.
10
Figure-3.2 Google cloud API services
Step-2: After creating the Google Cloud project we will generate the API, which will be located in the
‘Credentials’ section of the cloud. This API is required to be added to the Android Studio for using maps
or places or directions in the application. This is depicted in the figure below:
11
To ensure security in later stages, company will place appropriate restrictions on the key, so that any
user cannot use the key and the app would require permission for key usage.
Step-3: This key is added to the project which is depicted below. This is how we place the key in the
android project and it automatically gets reflected in manifest file. It is needed in manifest file too as
this is where the function looks for the key. This google maps API page is created using a guided setup
of Android Studio for maps.
Step-4: Now, we need to create a new Google firebase database and download the googleservices.json
file, which will be used in the project to link the database of firebase with android studio. A project is
created in Firebase for the same and it is used to create dynamic tables and authenticate users.
12
Figure-3.5 Google Firebase
Step-5: This file is now added to the root directory of the project to ensure its connection with the project.
The name of the project and all the details are automatically imported by the Google Firebase.
Currently no restriction has been placed to the Google Firebase file, but suitable restrictions will be
placed in future to maintain security at each end, as the data is personal.
Step-6: After all the linking part is done for the application, now the frontend portion of the application
is now created. This will contain:
ID 1
13
Alternative
Course Step 3. System notifies user if a field is missing.
Step 4. User fills in the missing fields.
Step 5. System makes sure the fields are filled appropriately.
Step 6. If some fields are missing again, repeat step 2.
Step-7: In the next step, the user is redirected to their respective pages based on whether he/she is rider
or a passenger.
ID 2
If the user is registered on “Techm Carpool”, then the user can enter
Description the destination and call a car which is sent to the nearest rider.
Alternative
Course Step 3. System notifies user if a field is missing.
Step 4. User fills in the missing fields.
Step 5. System makes sure the fields are filled appropriately.
14
Step 6. If some fields are missing again, repeat step 1.
ID 3
If the user is registered on “Techm Carpool”, then the user can press
Description the ‘Currently online’ button to be shown in the ‘driverworking’tab.
Alternative
Course Step 3. System notifies user if a field is missing.
Step 4. User fills in the missing fields.
Step 5. System makes sure the fields are filled appropriately.
Step 6. If some fields are missing again, repeat step 1.
Post System starts receiving requests for ride for the registered user.
15
2.2.Block Diagram
Now we will have a look at the entity relationship diagram (ERD) for the following application and get
a view of the following:
16
Figure-3.9 Entity Relationship Diagram
As we can see from the following diagram that each user whether it is a passenger or a rider has to
provide their location to the application which is stored on Google Firebase for real-time. As soon as
the application is closed or the ride is completed or cancelled, the location data is deleted from the server.
Now to get a clear picture, we will also have a look at the server class diagram for the same and then
get a clear picture of the technical details of the application.
17
Figure-3.10 Class Diagram of server
18
In this section we are also going to look at the android architecture of the following application in detail
to understand, how this application functions.
Let us now have a look at the data flow diagrams of the following application starting from level zero
to level two:
19
Figure-3.12 Level Zero to Level Two Data Flow Diagram
20
Chapter 4
Implementation
4.1.Modules
a. The first module related to our carpooling application is integration of google maps with the help
of Google cloud platform. Google maps is needed for getting the geolocation and get current
position of the driver and passenger and is a crucial part of our application.
21
Figure-4.2 Google Places module
c. The third model integrated in our application is Google Firebase to store database and authorize
users to sign in and register in the application. It can also take in email and password in bulk
through a file and store them.
d. The fourth module used in the project is Android studio. It is used to create mobile applications.
Backend is created in Java while Frontend is defined in XML and also features an interactive
option to develop.
22
Figure-4.4 Android Studio module
e. The fifth module used in the project is the Directions API. It is used to display the route to the
destination and is the essential part of the application.
4.2.Prototype
23
Figure 4.6 Prototype of our Application
4.3.STEEPLE Analysis
While building a carpooling application, STEEPLE analysis is the most important part of the process.
The full form of STEEPLE is Social, Technology, Environmental, Economic, Political, Legal, and
Ethical. These aspects are most important and we will discuss them in detail for our application.
24
a. Social
Employees will be able to make new friends and will connect with each other while traveling. Also
talking to new people relieves stress while driving, so it is better than driving alone.
b. Technology
Use of smartphone is getting increased every day. With cheaper mobiles and internet most of the
people are able to afford mobile phones. This app works real-time and matches passengers with
riders. This application can be used without any restrictions from anywhere (within country or
outside).
c. Economic
Fuel and pollution will be saved to a greater extent. It is better for travelers too and will benefit the
country.
d. Environmental
CO2 emissions will decrease and pollution problem will be curbed. Even traffic problem will be
curbed which will help people from traffic due to less vehicles on road.
e. Political
If we look at the political aspect, then Government is actively working for Green India, Clean India
mission and this kind of initiative of company will encourage other companies to follow suit.
f. Legal
Techmahindra employees receive insurance for travel, so medical expenses will be taken care of by
the company.
g. Ethical
All the history regarding the trips will be confidential and will only be shown to the respective users
only. Even riders will not be able to view the information of the person after the ride and that
information will be deleted from them.
Chapter 5
Results and Analysis
Now we will have a look at the results achieved in this project and analyze the same.
25
a. 1st Page of Application
If you click the ‘I’m a Driver’ option, then you will be redirected to login or register page
If the rider is not online then the user will not show in ‘driverWorking’ of table and will not be shown
to the user.
26
Figure 5.3 Driver Not Online
If you click online currently button then your location will be shown on the map with marker.
Driver needs to fill the detail in the settings page and provide the email car or bike details and add name,
phone number and choose between 2 wheeler and 4 wheeler.
27
Figure 5.5 Driver Settings Dashboard
Now let us look at the passenger portion. You have to press the ‘I’m a Passenger’ tab from the
application. Then the user will be sent to a login page.
28
Figure 5.6 Passenger Login Page
29
Figure 5.7 Passenger Dashboard Page
Now you need to go to settings page and fill in your name and number.
30
Figure 5.8 Passenger Information Page
Now the passenger enters his/her destination in the search bar and presses ‘Call a Car’ option to find a
rider.
31
Figure 5.9 Adding destination
The driver receives the passenger request and the passenger information too.
32
Figure 5.10 Driver Getting Passenger Information
The passenger receives the driver information and can cancel the ride too. The rider is also shown on
the map and the passenger gets notified about the driver arrival.
33
Figure 5.11 Passenger receiving driver information
The driver is shown the route to the destination which he/she has to follow to reach the destination.
34
Figure 5.12 Driver Route
4.4.Conclusions
To conclude the report, this application will help people get a ride during late night shifts, as public
transport is quite limited. The second benefit of this application will be abiding with the Green India,
Clean India mission, laid down by Government to curb pollution in the country which is at a peak and
increasing rapidly. This initiative will also help motivate other companies to join with this initiative and
make carpooling their primary objective.
This application is versatile and scalable and can be used by any number of users. This application can
also be expanded to other locations besides India to encourage carpooling there as well. It is a really
compact application so it will not take much space in users’ phone.
There are some features which can be improved to make the project much better for individuals.
a. Enhance security of the application, so the data of passengers and riders is protected at all costs.
b. Cancel request option for rider, so that the nearest rider does not get automatically connected to
passenger. It will help them cancel the incoming request if they are not going to same location.
The request will then be sent to the next closest rider.
c. Enhance the design of application so that people have the urge to use it. Too much basic design
makes the application less attractive to users which needs to be fixed at any cost.
35
References
Journal
[1] Avila Antao, Venisha Correia, Savio Gonsalves “Carpooling Application in Android”, IT
Department, XIE, Mahim, India, Vol.5, No.2, April 2015.
[2] Elena Nechita, Gloria-Cerasela Crişan, Sergiu-Mădălin Obreja, Constantin-Sebastian Damian
“Intelligent Carpooling System”, Department of Mathematics, Informatics and Educational Sciences,
“Vasile Alecsandri” University of Bacău, Calea Mărăşeşti 157, 600115 Bacău, Romania.
[3] Reda Aissaoui “CARPOOLING APPLICATION: KwiGo”, Capstone Design, April 2015.
[4] Ashish Kumar Joshi, Aniket Tapkir, Durgesh Vinchurkar, Sunil Rathod “The Carpooling System”,
International Journal on Recent and Innovation Trends in Computing and Communication, Volume: 3
Issue: 4.
Web
36