chrismattmann / NYU-BusTracker-Android

Android application used to track the NYU bus system.

Home Page:nyubustracker.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NYU Bus Tracker

NYU Bus Tracker is designed to combine the functionality of the NYU Mobile and Transloc apps (maps with real time bus locations) with the [massive schedules] (http://www.nyu.edu/life/travel-and-transportation/university-transportation.html) of the NYU bus system.

This app relies on the Transloc API for drawing the routes, getting real time bus locations, and getting the list of stops with locations. The bus times were manually parsed (not available from the API).

See the GitHub issues for a list of things that need to be done.

Design

  • The data is modeled by Bus, Route, Stop, and Time classes. They are all managed by a singleton BusManager class. Routes have an in order list of Stops. Stops have a list of Routes that service that stop and a list of Times corresponding to that particular route. Data accesses from the activities go through BusManager. Tests for connection between stops generally go through BusManager, as well.

  • Every JSON file (segments, routes, stops, times) is cached when retrieved (except for bus locations). Background network calls are made to ensure data is up to date.

  • Adapters are required to display the list of stops and times. Stops can be selected as the start or end, or favorited by the user (so it appears at the top of the list). Times display which route they correspond to (sometimes, more than one route travels between stops A and B).

  • There is only one activity: [MainActivity] (https://github.com/tpalsulich/NYU-BusTracker-Android/blob/master/NYUBusTracker/src/main/java/com/palsulich/nyubustracker/activities/MainActivity.java). In the future, we may add additional activities to access times in an alternate format (like by route + stop, instead of stop + stop).

Please see the LICENSE file for license information.

About

Android application used to track the NYU bus system.

nyubustracker.com

License:MIT License