Inspiration
Almost everyone I have talked with, have had issues with the BT app at some point or another. its very unreliable and often has outages during peak times. The dreaded "We are experiencing technical difficulties, but BT is still in service" error message is a frustration for students and I aim to fix that. My aim is to help everyone by making a new app that is more consistent, looks nicer, and has extra features that the current one does not have.
What it does
It pings the public Blacksburg API to get the current bus data. it then makes an app using Flutter and Dart to show it to you on the screen. It will eventually get support for setting custom notifications for the buses you use most so you can know ahead of time if the bus is going to be late or overcrowded.
How we built it
Flutter. Public API available for the live data. I just needed to ping the data and cache it to serve to users. the caching was done in a simple python server. Then set up the mobile app to have a map of Blacksburg. then get the route data and place that on the map as an overlay.
Challenges we ran into
I didn't know flutter. The format of flutter is very different to JavaScript. A lot code examples are out of date so I had to figure many things out myself. *Another major challenge is that the buses do not run at night so it is virtually impossible to test any of my code between midnight and 8am. *
Accomplishments that we're proud of
In a very short time span, I was able to get started on a completely new language and implement many features and integrate my knowledge from other domains. The was able to function on a PC and also in a browser.
What we learned
How to make cross platform applications using flutter and dart.
What's next for Blacksburg Transit Plus
Implementing all the features that are not done yet. still a major WIP. Implement a leaderboard system to promote the use of public transit and reduce traffic. also reducing pollution.
Built With
- api
- dart
- flutter
- rest
- vscode
Log in or sign up for Devpost to join the conversation.