1. 1
A PROJECT REPORT
ON
BHUBANESWAR BUS ROUTING
ANDROID APPLICATION
Submitted in partial fulfillment of the requirements for the Degree of
Bachelor of Technology
In
Computer Science & Engineering
Submitted by:
Titash Mandal Chirasree Pal
Roll No-1215014 Roll No- 1205088
Under the guidance of:
Dr. Sachi Nandan Mohanty
Assistant professor
SCHOOLOF COMPUTER ENGINEERING
__________________________________________________
SCHOOLOF COMPUTER ENGINEERING
KIIT UNIVERSITY
BHUBANESWAR-24
2. 2
SCHOOL OF COMPUTER ENGINEERING
KIIT UNIVERSITY
BHUBANESWAR-24
CERTIFICATE
This is to certify that the project titled “Bhubaneswar Bus Routing Android
Application” is being carried out by “Titash Mandal” and “Chirasree Pal
bearing Roll numbers 1215014 and 1205088 , respectively , for the partial
fulfillment of Bachelor of Technology in Computer Science Engineering, KIIT
University, Bhubaneswar ,during the academic year 2012-2016, under the
supervision and guidanceof Dr.Sachi NandanMohanty . The matter embodied
in this project is original and has not been submitted for the award of any other
degree.
Dr.SachiNandanMohanty
Guide
3. 3
Acknowledgement
We express our profound gratitude and would like to thank our project
guide Dr. Sachi Nandan Mohanty for his support during the
preparation of this project. We would like to thank Prof. Samresh
Mishra, Dean, and School Of Computer Engineering for the constant
cooperation for the project work. We would also like to thank our
friends who are our constant source of learning and our family for
providing us mental strength and support in achieving all our goals.
Chirasree Pal (1205088)
Titash Mandal(1215014)
4. 4
ABSTRACT
The project comprises of an android application namely
“Bhubaneswar Bus Routing Android Application”. It helps its users to
find all the desired/convenient bus route/s basically in Bhubaneswar
city according to start location and destination to be reached. It also
helps users to find the nearby bus stoppages to locate the arrival of the
buses, thus helping in providing easy communication within the city.
The application works offline by retrieving the data from the inbuilt
database and works online by connecting the user to the bus locations
via the GPS.This application is a well-rounded application that
provides users with a simple interface and with almost precise transit
schedules. The application also gives the estimated fare to the users.
Keeping in mind the safety factors of passengers, the call directory of
all important police stations in and around Bhubaneswar is provided
in the application along with the functionality of instantly calling
those numbers.
Keywords: Android, Database, GPS, Fare, Call Directory
5. 5
TABLE OF CONTENTS
1. Introduction…………………………………………........7
2. Objective…………………………………………………8-11
3. SRS………………………………………………………12-17
3.1. Functional Requirements.............................................13-14
3.2. Non-Functional Requirements.....................................15
3.3. Steps of Application Processing..................................16
3.4. Representation..............................................................17
4. Progress Achieved………………………………….…....18-21
4.1. Progress Diagrams
4.1.1. Class Diagram………………………....…........18
4.1.2. Use Case Diagram...…………………....……...19
4.1.3. Activity Diagram……………………….............20
4.1.4. Sequence Diagram...............................................21
4.1.5. Layered Architecture Diagram............................22
5. Screenshots............................................................................23-26
6. Hardware and Software Requirements……………………..27
7. Conclusion…………………………………….……………..28
8. References…………………………….…………...................29
6. 6
LIST OF FIGURES
Figure 1.1:Class Diagram..............................................................18
Figure 1.2:Use Case Diagram........................................................19
Figure 1.3:Activity Diagram............................................................. 20
Figure 1.4:Sequence Diagram .......................................................... 21
Figure 1.5: Layered Architecture Diagram......................................22
7. 7
1. INTRODUCTION
Android is a complete set of software for mobile devices such as
tablet computers, notebooks, smartphones, electronic book readers,
set-top boxes etc. It can be thought of as a mobile operating system.
But it is not limited to mobile only. It is currently used in various
devices such as mobiles, tablets, televisions etc. It is developed by
Google and later the OHA (Open Handset Alliance). Java language is
mainly used to write the android code even though other languages
can be used. The goal of android project is to create a successful real-
world product that improves the mobile experience for end users.
There are many code names of android such as Lollipop, Kit Kat,
Jelly Bean, Ice cream Sandwich, Froyo, Ecliar, Donut etc.
Features of Android
1) It is open-source.
2) Anyone can customize the Android Platform.
3) There are a lot of mobile applications that can be chosen by the
consumer.
4) It provides many interesting features like weather details, opening
screen, live RSS (Really Simple Syndication) feeds etc.
It provides support for messaging services (SMS and MMS), web
browser, storage (SQLite), connectivity (GSM, CDMA, Blue Tooth,
Wi-Fi etc.), media, handset layout etc.
8. 8
2. OBJECTIVE
This is purely an Android application which only runs on Android devices or
Android phones. Basically, this application at client side fetches the co-
ordinates by using Google Maps, sends the co-ordinates to server, then server
send SMS Alerts to users who are registered for this service, also server
provides Graphical Map of current Bus Location by having markers on to the
Map. It also runs in the background so students are free to use their phones for
other activities. The main focus of our research is to reduce the overall cost of
tracking based on GPS system as it is a satellite based service which is available
24X7 everywhere in the world. GPS system can be used to get location which
includes details like latitude, longitude values along with the timestamp details
etc. It’s a free of cost service available to every individual. In order to track the
location of the Bus we have used Google Maps for mapping the location sent by
the mobile phone. This is a low cost service provided by the service providers
which is a wireless data communication system. Mobile phones equipped with
GPS receiver are easily available in the market now days and is a booming
technology. The application also calculates the bus fare depending upon your
desired location and also gives the directory of the police stations in and around
the city for safety of the passengers. The main objective is to implement these
modules:
1. Bus Locator.
2. Fetching nearest bus stoppage location.
3. Check fare.
4. Lookup Directory.
5. List of bus routes.
9. 9
1.Bus Locator:
In this module, at front-end, user enters the Bus details like their
current location, or desired start location. These details are
stored at back-end in SQLite database. These details include the
schedule of Bus, and route of Bus. The user enters the details in
the TextView position where a drop down spinner has been
provided to help the user select the desired location with the
correct spelling to avoid errors. After the user presses the submit
button, a new activity opens which lists all the bus numbers
traversing through the desired bus location as needed by the
user. This gives ample options to choose from. He can wait for
the bus at his location and board the bus with his desired bus
number. This activity also provides additional functionality. By
selecting a particular bus number, the user can also view the
entire route of the bus, along with the distances and the fare
required for traveling to his destination. Hence communication
within the city becomes much easier, faster and convenient. It
uses an offline inbuilt database to display bus options to the
user. Each choice selected by the user is sent as a query to the
database which retrieves its data and displays it in the activity
followed by the submit button.
10. 10
2. Fetching nearest bus stoppage location:
Server fetches these details by having link between Application and
Website.
Transmitter Module: -The initial phase of the tracking process involves
requesting and receiving the GPS data through the module from the
satellites. The GPS embedded module will serve as the communication
link between the Real Time Bus Monitoring and Passenger Information
system and the satellites. Consequently, the data received from the GPS
module will be passed on to the PIC microcontroller 18F4520 using a
UART serial link where it will then be processed, the latitude and the
longitude coordinates of the location will then be separated from the bulk
of data obtained by the GPS module using software. These readings
obtained will then be transmitted to the control unit through the RF
transmitter. Also the controller will regularly transmit the bus information
through the RF transmitter module which will then be received and
further processed at the receiver module. All the data to be sent for
transmission will be sent through the SPI protocols. Whether you are
running late or early, use the app to know which boarding point is the
closest to you and check the estimated time of arrival of the bus at that
stop. No need to call bus operators to check if the bus is running on
schedule as we will keep you updated on any delay in the bus schedule.
12. 12
3. Check fare:
The fare estimation as per the selected source and destination will be
available to the user. This will help the user choose the bus route with
the minimum fare. Amongst all the buses available for that particular
route, the bus number which u select, the fare of that bus will be
given.
4. Lookup Directory:
Keeping in mind the safety factors of passengers, the call directory of
all important police stations in and around Bhubaneswar is provided
in the application along with the functionality of instantly calling
those numbers . This will help the passengers travel safe and reach out
for police help in case of any harassment caused by anyone while
travelling in the bus or while waiting for the bus.
5. List of the bus routes:
On entering the start and stop locations, the server poses an SQL
query to the inbuilt database which retrieves the bus numbers in a
listed format. On clicking on a particular bus, the application displays
the entire route through which the bus traverses.
13. 13
3. SOFTWARE REQUIREMENT SPECIFICATION
Introduction: Travelling has become a major requirement of people
today. Buses have become one of the prime modes of transportation.
For an ordinary passenger, finding his/her bus route to the destination
off his day-to-day routing is a difficult task especially in Bhubaneswar
area. If the passenger has less experience in travelling by bus to a
particular place it is quite difficult to correctly identify the bus
route(s) which has the minimum distance and minimum number of
buses.
Aim: This project addresses the above problem via an android
application which finds all the viable bus routes from source to the
destination in Bhubaneswar area. The goal of the Real Time Bus
Monitoring and Passenger Information bus tracking application is to
provide a product that pedestrians of Bhubaneswar city can use to
help them decide whether to wait for the bus or walk or use alternate
transport.
14. 14
3.1. Functional requirement
The application starts with a splash screen which leads to a variety of modules
and user friendly theme storage arena. The various modules are listed below as
follows.
1. Accept User Input
After starting the application users are provided with a simple user interface to
input (type) their start and end bus stations. The drop down lists which will
output an alphabetically sorted list of available bus stations in the database,
while typing. Users can use the touch screen keyboard or the physical keyboard
of the handset if available. Users are only allowed to input a location given in
the list. If not, application will generate an error message.
2. Output the buses in the route
Once the inputs are taken they are processed in the server and outputs trivial bus
route according to an optimal path finding algorithm. It gives the output of all
the buses which ply between the same source and destination.
3. Locating the nearby bus stoppages
If the user is unsure of the nearby bus stops then they can press a button which
will give them the nearby bus stoppages located with the help of GPS.
4. Get fare estimation
The fare estimation as per the selected source and destination will be available
to the user. This will help the user choose the bus route with the minimum fare.
15. 15
Amongst all the buses available for that particular route, the bus number which
u select, the fare of that bus will be given.
5. Enlisting of bus routes
On entering the start and stop locations, the server poses an SQL query to the
inbuilt database which retrieves the bus numbers in a listed format. On clicking
on a particular bus, the application displays the entire route through which the
bus traverses.
6. Call lookup directory for safety of passengers
Keeping in mind the safety factors of passengers, the call directory of all
important police stations in and around Bhubaneswar is provided in the
application along with the functionality of instantly calling those numbers . This
will help the passengers travel safe and reach out for police help in case of any
harassment caused by anyone while travelling in the bus or while waiting for
the bus.
16. 16
3.2. Non-Functional Requirements:
1. Android 2.2 (Gingerbread) or above with API 8
2. Memory: 1GB or more
3. RAM: 512 MB or more
4. IDE: Android Studio
5. Internet connectivity
6. GPS enabled phone
17. 17
3.3Steps of application processing:
1. User starts the application and enters the start and end locations to the
application.
2. Application then sends the user request to the server via HTTP request.
3. PHP server receives the request and DB Handler opens the DB and passes it
to the controller.
4. Controller then handles the queries and outputs data to Finder which contains
the logic part.
5. Finder then generates the best route and responds to the client again as a
HTTP response.
6. TableView decodes the server response and displays it.
7. TableView passes the longitudes and latitudes of the locations to the
MapRouteActivity to display in the Google Map.
8. MapRouteActivity obtains the coordinates and displays it in the Map with the
user’s current location obtained by GPS.
9. User can the close the application.
18. 18
3.4 Representation
1. Client Side
User Interface - This layer provides the graphical interface to user within the
application. It provides a common interface for a user to directly interact with
the system. Users can input data using the on-screen keyboard or physical
keyboard on the device.
Android API - Whole system is buit on Android API. The application must
employ common modules and libraries to achieve core functionality of an
android application. In addition it uses Maps API and other libraries to include
additional functionalities.
2. Server Side
Logic Layer - This layer controls the whole logic behind the route selection.
The logic layer contains all the components related to selection of bus routes
according to the algorithm. It gathers all the subsystems that meet the needs of
the application domain.
Data AccessLayer- Data access layer provides simplified access to data stored
in persistent storage such as an entity-relational database.
Database - Database will be implemented in MySQL and will reside in the web
server to serve client requests.
26. 26
User Choice Selection for entering
source and destination
Dropdown Spinner List for easy
navigation
27. 27
GPS navigation using browser ,
chrome or Google Maps
Tracking of nearby bus stops via
GPS
28. 28
6. HARDWARE AND SOFTWARE REQUIREMENTS
6.1. Deployment Environment Requirements
6.1.1. Hardware Requirements
a. Processor/RAM/HDD : 32-bit ARMv7/512MB/4GB
b. Device Requirement :Android Supporting Smartphones
c. Database Server : SQLite Database
d. Operating System :Android 4.0 and above
6.1.2. SoftwareRequirements
a. OS for Web server : Windows XP or Higher
b. OS for Database Server: Windows XP or Higher
c. DBMS : SQLite Database
d. Third Party Software : NA
6.2. Development Environment Requirements
a. IDE Used : Eclipse ADT
b. Processor/RAM/HDD: AMDAthlonX264bit,1GB,160GB
29. 29
7. CONCLUSION:
Location based Services offer many advantages to the mobile users to
retrieve the information about their current location and process that data
to get more useful information near to their location. Nowadays in this
fast life where everyone is in a hurry to reach their destination, waiting
for a bus becomes cumbersome. It is a hectic task and many of us are
unaware of the bus timings, their pick up points, routes and fares. Hence
to overcome this problem we have come up with system “Bus Route
Management Application” which aims at building an Android application
that automates all the aspects related to the bus arrival. At specific pickup
point the application sends current location of the user. With the requested
destination to be reached, it retrieves data relevant showcasing the
different buses going through the desired route and their timings.Android
and java platforms are used to develop the application using Android
Studio. With the implementation of the project a complete track can be
kept of the buses around the city. The display at the bus stop saves the
commuter’s time.
30. 30
9. REFERENCES
1. Android Developers website
2. Bus routes of different buses with their bus numbers in
Bhubaneswar
3. Android SDK, http://developer.android.com/sdk/index.html
4.Google
API,https://developers.google.com/maps/documentation/geolocation/i
ntro
5. She Zhilong, Yu-Hsun, Cheng Ming GuoZhijun, “Google Android
SDK documents” Delightpress 2010.
6. Android Programming: The Big Nerd Ranch Guide by Bill Philips
& Brian Hardy
7. Android Design Patterns: Interaction Design Solutions for
Developer by Greg Nudelman
8. Android User Interface Design: Turning Ideas and Sketches into
Beautifully Designed Apps by Dave Smith & Jeff Friesen
9. Java Graphical User Interfaces by David Etheridge