An Android application for tracking NYU's shuttle bus service in real-time.
- Real-time bus location tracking on an interactive map
- View all NYU bus stops and routes
- Get estimated arrival times for buses at each stop
- Mark favorite stops for quick access
- Support for weekday, Friday, and weekend schedules
- Offline mode capability
- Sliding drawer UI for easy access to bus information
- Safe Ride service information
- Clone the repository
- Copy
api-keys.xml.sampletoapi-keys.xmland add required API keys - Open project in Android Studio
- Build and run
activities/- Main activity and UI logicadapters/- List adapters for stops and timeshelpers/- Network, data management and UI helper classesmodels/- Data models for buses, routes, stops and times
Singleton class that manages all bus, route and stop data. Handles parsing JSON responses from the API and maintaining the application state.
Network request framework with specialized helpers for downloading:
- Bus locations
- Routes
- Stops
- Schedule times
- Version information
- Real-time bus location updates every few seconds
- Schedule time calculations accounting for weekday/weekend differences
- Distance and ETA calculations between stops
- Google Maps integration for bus tracking
- Sliding drawer for stop information
- Stop list with favorites support
- Time display with route information
- Safe Ride service information panel
The project includes instrumentation tests for:
- Main activity functionality
- Time calculations and comparisons
- Data model validation
See LICENSE file for details.