Skip to content

feat(app): add maps navigation page#23

Merged
MertOkur merged 1 commit into
mainfrom
feat/maps-navigation-page
Jun 17, 2026
Merged

feat(app): add maps navigation page#23
MertOkur merged 1 commit into
mainfrom
feat/maps-navigation-page

Conversation

@SebastianBoehler

Copy link
Copy Markdown
Contributor

Summary

  • Adds a new Maps page backed by flutter_map / OpenStreetMap tiles and a Nominatim search client for Tuebingen destinations.
  • Wires the page into the app navigation and home shortcuts.
  • Adds selected-location actions to ask StudyOS with structured location context or open the destination in an external maps app.
  • Adds map location parsing/prompt tests and navigation coverage.

Notes

  • The MVP intentionally avoids current-location permissions and turn-by-turn routing. External maps handles navigation fallback for now.
  • OSM/Nominatim attribution is shown in the UI. If this grows beyond a course prototype, we should revisit tile/geocoding provider policy and rate limits.

Verification

  • dart format --output=none --set-exit-if-changed lib test
  • flutter analyze
  • flutter test
  • Android APK build was not run locally because this runtime does not have an Android SDK configured; GitHub Actions installs the SDK and will verify debug/release APK builds.

Closes #22

@SebastianBoehler

Copy link
Copy Markdown
Contributor Author

Reviewed the PR for the new Maps page. I do not see a blocking code issue from the diff: the feature is scoped to the Flutter app, avoids current-location permissions, keeps selected-location context explicit before handing it to the assistant, and adds basic parsing/navigation coverage.

Likely risk areas to keep in view before merge:

  • OSM/Nominatim dependency behavior: the PR uses the public OSM tile server and public Nominatim search. The implementation sets a tile user-agent package name and a Nominatim User-Agent, and the UI shows attribution. That matches the important prototype-level requirements, but the public policies still cap Nominatim usage at about 1 request/second and expect identifiable clients, so this should stay button-triggered and low-volume. If Maps becomes a core feature, move to a dedicated provider or hosted/local geocoder path.
  • Manual runtime checks: CI is still pending as of this review, and this runtime does not have flutter/dart installed, so I could not rerun dart format, flutter analyze, or flutter test locally. A human should wait for GitHub Actions and smoke-test map tiles/search/external map launch on the target platform.
  • UX failure paths: search failures are displayed, but external map launch failure currently throws. That is probably acceptable for an MVP, but a snackbar/status message would be a small follow-up if this path proves flaky.

Smallest useful next step: wait for the Flutter CI result, then do one manual smoke test of: open Map tab, search a Tuebingen destination, select a result, click “Ask StudyOS”, and click external maps. If CI passes and that smoke test works, this looks ready for human review/merge consideration.

@MertOkur

Copy link
Copy Markdown
Collaborator

lgtm

@MertOkur MertOkur merged commit 7e13840 into main Jun 17, 2026
1 check passed
@SebastianBoehler SebastianBoehler deleted the feat/maps-navigation-page branch June 18, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Maps and Navigation page with location-aware assistant action

2 participants