GSoC 2024: Ferrostar on the Web

Posted by catme0w on 8/28/2024

Hi, I’m known as catme0w on the internet, and I’m a contributor to Google Summer of Code 2024. Below are my contributions during GSoC.

This post is not yet complete and will be updated gradually with detailed progress throughout my GSoC journey.

Goals

These goals were initially discussed and finalized at https://github.com/stadiamaps/ferrostar/issues/102.

  • ✅ Making requests to an arbitrary routing backend and parsing the response into a route
  • ✅ Decide on a map framework (Leaflet -> MapLibre GL JS. This has taken some detours, I’ll cover it soon… )
  • ✅ Search for the destination using an autocomplete search box
  • ✅ Displaying the route on the map
  • ✅ Showing the user’s location on the map
  • ✅ Updating the user’s location on the map “live” if the web page is visible, and having a tracking mode that follows the user around
  • ✅ Showing a banner indicating the next maneuver
  • ✅ Updating the navigation state when a new location update arrives + update the UI
“Stretch goals”
  • ⏳ A simple list view showing all remaining steps
  • ⏳ Recalculating when the user strays too far off the route
  • ✅ A MapLibre integration with “3D” / isometric perspective
  • ✅ Speech synthesis using the Web Speech APIs

You can find all my contributions to Ferrostar at https://github.com/stadiamaps/ferrostar/pulls?q=is%3Apr+author%3ACatMe0w.

Final Product

Here’s a web demo: https://stadiamaps.github.io/ferrostar/web-demo/

  • TODO: Other things?

Lastly, I would like to sincerely thank my mentor Ian and Jacob for their assistance. I’m glad to have met such an outstanding team. Without their support, none of this would have been possible.