What it does

Plots all the bus stops near your current location, with the nearest bus stop being highlighted in green and the rest in orange. On tapping on a bus stops shows all the bus routes coming to that stop and provides the estimated time of arrival. Plots the bus routes with different color lines. On zooming out clusters all the bus stops. Also shows the positions of buses on the routes.

How I built it

I used Java, along with JSON parsers to get the data from the Translink API.

Challenges I ran into

Using JSON parsing to get the data from the API was challenging for me, because I had not worked with regular expressions before and this was new to me. In addition, plotting the bus routes was also pretty challenging because you had to handle many cases where the route would go off the map and you had to plot sort of the edge of the route. Also finding the nearest bus stop and then updating it when the location changed was pretty challenging too.

Accomplishments that I'm proud of

I'm proud of how this project turned out, with all the features including the bus route tracking, and ETA's of the different buses when you tap a bus stop.

What I learned

I learned to work with the Java using OOP programming standards, and test my code properly with Junit 5. In addition I learned to get data from the Translink API and then parse that data using JSON.

Built With

  • java
  • json-parsers
  • junit
  • translink-open-api
Share this project:

Updates