Inspiration:
If you are an Aggie trying to get to a lecture or event you have without a doubt encountered the campus busing UI. Weather a car less freshmen trying to get to class for the first time or grad student living off campus trying to avoid exuberant parking fees BusIT is our innovative transportation for the average Aggie faculty and students. The Texas A&M transportation bus solution is far from user friendly. Its takes lots of time and data to load and utilizes a mapping system bases on pixels and Texas A&M Maps instead of a better end to end solution like google maps. Our aim was to make a user-friendly integration that utilized less information and bad with but generated a more user-friendly result.
What it does
BusIT offers quick and easy alternative to Aggie travel that combines the ease of Google Maps with the ambiguity of Aggie maps to getting from Point A to Point B in the college station Bryan area.
How we built it
Our solution has 3 parts 1) Getting data 2) Computing Optimal routes and time 3) Front end interface
To get the bus route and Aggie app data we utilized two different sources. Web scraping from the official Texas A&M UI and information from the Texas A&M Transportation devices back end. TAMU Transport has generously provided an api, providing easy access to all official A&M bus stops.
To compute an optimal route, we determined the distance to the nearest bus stop to the user's origin in conjunction with the distance of the nearest bus stop to the user's destination using euclidian distance. This optimizes the suggested route to give you the shortest possible distance.
The front end was done with a bit of bootstrap as well as simple css.
Challenges we encountered
I have never tried to get live data from the internet before. In order to completer this project I had to learn how to scrape element form a website, and use pandas data frames and .json which are two thing I had little to no experience with.
Accomplishments that we are proud of
As a freshman who is going into mechanical engineering, I was amazed at how accommodating my teammates whereas I learned how to scrape web elements and format data for them to use on the front end. For me figuring out how to do this helped bused my confidence in my programming and problem-solving ability. – David
Completing the optimization algorithm from origin to destination - Ryan
Interfacing Django views with templates, javascript, and Google Maps API - Will
What We learned
I learned how to use 3 packages in python I have previously not had experience with (Json, Urlib3 and bs4) having learned how to get this data.
I learned to use the A&M bus route API. I learned how to access route/bus information and convert it into a usable format for Google Maps API
I learned to use the Google Maps API to get route information. I learned to set way points and optimize the bus routes given the information the API allowed me to obtain.
What's next for Bus It
Right now, BusIT is a web based app that we hope to push to an apple and android compatible app featuring off line capability to do this we will scrape date on triable time not just for the current time period, but utilizes the data for the next few days and storing it until auto updating next time it is connected to a network. This would solve loading problems and give users the ability to use BusIT when band width is limited. A problem which Often plagues students and faculty while transversing compose.
- Add static route map
- Add different colors for routes
- Add pop up route number
Log in or sign up for Devpost to join the conversation.