Inspiration
Currently, Binghamton faculty and students have access to two different bus systems: BC Transit, which has schedule data on Google Maps and a realtime app. OCCT, which has no schedule data on Google Maps, but does have a realtime app.
Not only is there no joined transit app, but even when using BC Transit in Google Maps, there is no realtime feedback - despite the fact that they collect this data!
We aimed to scrape realtime bus locations from the BC Transit + OCCT realtime apps, expose them via a standard interface that transit apps understand, and do a demo using one such app (OneBusAway)
What it does
It doesn't (see video demo)
How we built it
We split up the work into 4 problems.
- Getting the static GTFS files for OCCT
- Getting the real time GTFS api for Broome county
- Getting the real time GTFS api for OCCT
- getting OneBusAway setup for a demo
we then failed 2/4 of those tasks
Challenges we ran into
Web scraping the OCCT website proved surprisingly challenging due to lack of understanding of beautiful soup abnormal cases and potentially malformed html.
OneBusAway proved a labyrinth of insanity and eldritch horrors and sunk cost fallacy meant we could not pull away. This ultimately meant we had no way to verify things or get a demo out.
Protobuf proved more challenging than expected causes multiple hard to understand errors
Accomplishments that we're proud of
We made 4 csv files
Good delegation until everything fell apart under the eldritch horrors.
Only 5 merge conflicts with record time being 150 minutes without a merge conflict.
What we learned
Make sure the scope of the project is within what's doable within a hackathon's time period.
Don't make things that depend on 3 external dependencies, making the integration was probably harder than making the thing ourselves.
What's next for BingBusTools
Although this iteration will likely be scrapped, we will likely continue to pursue this idea.
Built With
- gtfs
- protobuf
- python
Log in or sign up for Devpost to join the conversation.