The GSoC description is a bit broad. We can work together to focus the scope and what we'll actually deliver at the end of the project.
To get the conversation started, here's what I'm thinking....
At the end of the project, we want to have something that's actually useful to people. It does NOT have to be perfect or look highly polished, but it should be highly functional. Here are the major milestones from my perspective:
Making requests to an arbitrary routing backend and parsing the response into a route (see the RouteRequestGenerator and RouteResponseParser traits in Rust, Valhalla implementations, and how FerrostarCore on iOS and Android pull things together using platform-appropriate HTTP APIs; we can probably use the fetch API here)
Search for the destination using an autocomplete search box
Displaying the route on the map
A simple list view showing all remaining steps. Ideally this would indicate which steps have already occurred in the route, but this is not necessary for project completion
Showing the user's location on the map (Leaflet may have something to make this easy?)
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 (something like this plugin might be helpful)
Showing a banner indicating the next maneuver (see iOS and Android existing implementations for inspiration / reference)
Updating the navigation state when a new location update arrives + update the UI
The final deliverable should be a simple web application that is usable for things like bicycle or pedestrian navigation with a "top-down" view. I have tried to link helpful projects/tools/plugins since I believe we can deliver a highly functional experience within the 12 weeks. You mentioned familiarity with React, so I'm assuming we go with that for now.
"Stretch goals" if we have extra time:
Recalculating when the user strays too far off the route
A MapLibre integration with "3D" / isometric perspective would be really nice
The GSoC description is a bit broad. We can work together to focus the scope and what we'll actually deliver at the end of the project.
To get the conversation started, here's what I'm thinking....
At the end of the project, we want to have something that's actually useful to people. It does NOT have to be perfect or look highly polished, but it should be highly functional. Here are the major milestones from my perspective:
RouteRequestGenerator
andRouteResponseParser
traits in Rust, Valhalla implementations, and howFerrostarCore
on iOS and Android pull things together using platform-appropriate HTTP APIs; we can probably use the fetch API here)The final deliverable should be a simple web application that is usable for things like bicycle or pedestrian navigation with a "top-down" view. I have tried to link helpful projects/tools/plugins since I believe we can deliver a highly functional experience within the 12 weeks. You mentioned familiarity with React, so I'm assuming we go with that for now.
"Stretch goals" if we have extra time: