Sei sulla pagina 1di 11

GatorTracker

A crowd-sourced bus tracking system

Alok Mandloi

Akhil Makana

Rutayan Patro

The Idea
Crowd sourced real time bus tracking system using smartphones. How is it different???
The source of information will be smartphones of bus riders. Dearth of funds for installing expensive dedicated hardware in buses of many cities.

System Design
Smartphone Client
An Android phone application. User checks-in into a bus The application sends real-time bus location to the server. Other users receive bus location.

Server
Collects locations of various buses reported by smartphone clients. Organize data according to the bus numbers . On a mobile clients request, locations of particular buses are provided.

Server

Mobile Client tracking bus

Bus route

Mobile Client in bus

Mock App Screens


Select bus route

Select bus route

Check in

Yipeee You have started tracking Bus # __ . You get 1000 karma points You can lock the screen or minimize it.

Check In

Track bus Stop tracking

Check In

Track bus

Check In

Track bus
5

Tools
Smartphone client Android application for mobile client consisting of activities and background service Google Maps API for displaying maps. Server Go programming language Redis based database

Development Phases
Phase 1: Simple application to transmit current location to server. Phase 2: Develop routes, handling user requests, real-time tracking and display at Smartphone client.
6

Work
@Smartphone Client - UI Development - Communicate with server using API - Guoguo Integration for automation and authentication (Check feasibility )

@Server - Route storage in the database - Respond to client requests


7

Backend coding
We intend to develop the following APIs for communication between smartphone client and server.
(All data sent and received in HTTP body would be in JSON format)

Phase 1 :

start_session()
This would be called at the first time when a user opens the application. It would return a session key/id which would be used by the client for any other futher interactions with the server.

set_bus_location (user_id, route_id, location, bus_id)


Used to set current location of the client travelling in bus bus for real time updating of bus locaiton on the server.

stop_tracking ( )
Used to indicate the client has deboarded the bus.

Backend coding (contd.)


Phase 2:

get_bus_locaiton (route_id [ ])
Used to get bus locations for specified route id Returns the bus locations for the selected route_id

get_stop_arrivals(bus_stop_id)
Returns the arrival times of requested buses for a particular bus stop.

Challenges Consolidation of data from multiple users for single bus. Storage of routes in database. Algorithm for real-time tracking. Power optimization for GPS usage.
Improvements Support for additional information from user, like BUS FULL, SEATS AVAILABLE, etc. User feed authentication by calculating user speed and comparison of user location with selected bus route. Automate user check-in through a Guoguo based system in the bus.
10

Timeline
Week 1 2 3 4 5 6 7 8 9 10 11 12 13-14 Duration Till 4th Feb 4 Feb - 10 Feb 11 Feb - 17 Feb 18 Feb - 24 Feb 25 Feb - 3 Mar 4 Mar - 10 Mar Work to be completed Create wireframe for the mobile application. Division of work and mastering of tools. Establish start_session() between the server and android app. Midway Goal: Create application which would report location to server. Trial of app in field and bug fixing.

11 Mar - 17 Mar Implement get_bus_location(). 18 Mar - 24 Mar Final Goal: Add bus routes and stops along with estimation of time; Report 25 Mar - 1 Apr 1 Apr - 8 Apr 9 Apr - 15 Apr 16 Apr - 22 Apr 23 Apr - 2 May Ready system for presentation Final Presentation and Demo
11

Testing and Improvements; Report

Potrebbero piacerti anche