Inspiration
I'd find it real convenient if there was a version of google maps that could take OCCT buses into account along side broome county buses. So I decided to try and make something like that.
What it does
Lets you get a bus route from any 2 places in binghamton via OCCT and Broome county buses
How I built it
OCCT and Broome county both have live maps which can be used to view the current position of their buses. As a side effect this allowed me to see all the bus routes and stops which I could use to try and make ways of getting people around.
Challenges I ran into
Most of this hackathon took place a night, normally this isn't an issue however the Broome county bus live map and it's underlying api stop showing buses at night due to there being no buses running.
Accomplishments that we're proud of
Used a non-trivial api via an http library rather than a language+api specific library.
What we learned
It seems that the http server library I chose and nginx do not mix well so testing that before jumping into a full project is something I should consider in the future
What's next for Binghamton Better Bus (BBB)
to copy from the readme, assuming I continue work on this I'd want to address the following
- show lines for broome county buses
- Make buttons change color to indicate toggle
- Prevent buses from going backwards
- make time estimate accurate (beyond hack divide by 3)
- Change api to give a not shitty poly line for Broome county buses
- Trim poly lines down to the bit between bus stops
- Fix the UI so console and alert aren't needed
- refactor to work within docker and setup within docker-compose
- make route checking more advanced with better walking heuristic (ideally taking the river into account)
- make route checking more advanced by allowing multiple factors with multiple weights including
- walking time (don't remove it)
- bus travel time
- layover time (both waiting for the initial bus and any intermediary buses)
- ultimate arrival time
- make route checking allow for specifying a future time
- use a DB via SeaORM to avoid spaming APIs
- use info in db to try and predict bus schedules in future
Built With
- google-maps
- google-routes
- javascript
- rust
Log in or sign up for Devpost to join the conversation.