Geographic Peer Mentor Map View
Feature Detail
Description
Displays peer mentors on an interactive map for geographic matching and assignment planning. Primarily required by Blindeforbundet for large counties where finding a nearby peer mentor for a home visit assignment is otherwise done manually by phone. Coordinators can view mentor locations and filter by availability or specialization. This feature is a progressive enhancement and not part of the MVP. The map view should complement, not replace, the standard list view. Accessibility must be maintained: a list-based fallback must always be available for screen reader users who cannot use a visual map.
Analysis
Significantly reduces coordinator time for assignment matching in geographically large regions (Blindeforbundet). Enables data-driven assignment decisions rather than relying on coordinator memory of who lives where.
Use flutter_map or Google Maps Flutter plugin. Store mentor location as a PostGIS point in Supabase (with explicit consent). Map markers must link to peer mentor detail screen. Always render a list-view toggle button accessible from keyboard/screen reader. Location data is sensitive — require explicit opt-in from peer mentors and document in privacy policy.
Components (210)
Shared Components
These components are reused across multiple features
User Interface (59)
Service Layer (52)
Data Layer (33)
Infrastructure (54)
User Stories (12)
As a As a Coordinator
I want to seamlessly toggle between the geographic map view and a structured list view of peer mentors
So that I can use the view that best fits my current task — map for geographic matching and list for alphabetical or status-based browsing
- Given the coordinator is on the map view, when they tap the view-toggle-button, then the interface transitions to the mentor-list-fallback list view within 300ms with the same filtered mentor set
- Given the coordinator has active filters applied on the map, when they switch to list view, then the same filters remain applied and the list reflects the identical filtered result set
- Given the coordinator is on the list view, when they tap the view-toggle-button again, then the map view is restored and any marker that was previously selected is still selected
- +3 more
As a As a Coordinator
I want the app to automatically fall back to a structured list view when map rendering fails or network connectivity is insufficient
So that I can still access and manage peer mentor assignments even when operating in areas with poor connectivity
- Given the coordinator opens the map view with no internet connection, when the map fails to initialise after 5 seconds, then the mentor-list-fallback activates automatically with a clear offline status banner at the top of the screen
- Given the fallback list is showing, when the coordinator searches for a mentor by name, then the search filters the cached local dataset without requiring network access
- Given the device regains internet connectivity while the fallback list is visible, when connectivity is restored, then a non-intrusive snackbar offers to reload the map view without forcing navigation
- +3 more
As a As a Organization Administrator
I want to seamlessly toggle between the geographic map view and a structured list view of peer mentors
So that I can use the view that best fits my current task — map for geographic matching and list for alphabetical or status-based browsing
- Given the coordinator is on the map view, when they tap the view-toggle-button, then the interface transitions to the mentor-list-fallback list view within 300ms with the same filtered mentor set
- Given the coordinator has active filters applied on the map, when they switch to list view, then the same filters remain applied and the list reflects the identical filtered result set
- Given the coordinator is on the list view, when they tap the view-toggle-button again, then the map view is restored and any marker that was previously selected is still selected
- +3 more
As a As a Organization Administrator
I want the app to automatically fall back to a structured list view when map rendering fails or network connectivity is insufficient
So that I can still access and manage peer mentor assignments even when operating in areas with poor connectivity
- Given the coordinator opens the map view with no internet connection, when the map fails to initialise after 5 seconds, then the mentor-list-fallback activates automatically with a clear offline status banner at the top of the screen
- Given the fallback list is showing, when the coordinator searches for a mentor by name, then the search filters the cached local dataset without requiring network access
- Given the device regains internet connectivity while the fallback list is visible, when connectivity is restored, then a non-intrusive snackbar offers to reload the map view without forcing navigation
- +3 more
As a As a Coordinator
I want to tap a peer mentor's map marker and see a quick summary popup with their key details and a direct link to their full profile
So that I can evaluate a potential match without leaving the map context and navigate to the full profile only when needed
- Given the coordinator taps a peer mentor marker, when the popup appears, then it shows name, certification status badge, assigned contact count, and active/paused status without an additional network request
- Given the popup is open, when the coordinator taps 'View Profile', then they are navigated to the peer mentor detail screen and can return to the map via back navigation
- Given the popup is open on a small screen (375px width), when rendered, then it does not obscure more than 40% of the visible map area and remains fully readable
- +3 more
As a As a Coordinator
I want to filter the peer mentors shown on the map by availability status, certification status, and specialization area
So that I can narrow down candidates to only those who are both geographically suitable and qualified for the specific support need
- Given the coordinator opens the filter panel, when they apply a 'certification valid' filter, then only peer mentors with a non-expired certification are shown as markers on the map
- Given filters are applied, when the coordinator toggles to list view via the view-toggle-button, then the same filtered mentor set is shown in the mentor-list-fallback with identical results
- Given the coordinator applies a 'paused' status filter, when the map refreshes, then paused peer mentors are visually distinguished (greyed-out markers) rather than completely hidden, so the coordinator is aware of the full roster
- +3 more
As a As a Coordinator
I want to see which peer mentors have granted location consent for map visibility and be prompted to invite non-consenting mentors to opt in
So that I can maximise the usefulness of the map while fully respecting each mentor's privacy choices
- Given the coordinator opens the map view, when the screen loads, then a summary indicator shows the count of mentors visible on the map vs. total mentors in the chapter
- Given the coordinator taps the 'X mentors not on map' indicator, when the action sheet opens, then they see options to view the list of non-consenting mentors or send a bulk opt-in invitation notification
- Given the coordinator sends an opt-in invitation, when the action completes, then a confirmation toast confirms the notification was queued and the action cannot be repeated for the same mentors within 7 days to prevent harassment
- +3 more
As a As a Coordinator
I want to see all peer mentors in my chapter displayed as interactive markers on a geographic map
So that I can quickly assess geographic coverage and identify the closest available peer mentor to a contact who needs support
- Given the coordinator opens the map view screen, when the screen loads, then all peer mentors with location consent granted are rendered as map markers within 3 seconds
- Given there are peer mentors without location consent, when the map loads, then those mentors are excluded from the map and a count badge shows how many are hidden
- Given the coordinator pans or zooms the map, when the viewport changes, then markers update dynamically without full reload and maintain their relative geographic positions
- +3 more
As a As a Organization Administrator
I want to tap a peer mentor's map marker and see a quick summary popup with their key details and a direct link to their full profile
So that I can evaluate a potential match without leaving the map context and navigate to the full profile only when needed
- Given the coordinator taps a peer mentor marker, when the popup appears, then it shows name, certification status badge, assigned contact count, and active/paused status without an additional network request
- Given the popup is open, when the coordinator taps 'View Profile', then they are navigated to the peer mentor detail screen and can return to the map via back navigation
- Given the popup is open on a small screen (375px width), when rendered, then it does not obscure more than 40% of the visible map area and remains fully readable
- +3 more
As a As a Organization Administrator
I want to filter the peer mentors shown on the map by availability status, certification status, and specialization area
So that I can narrow down candidates to only those who are both geographically suitable and qualified for the specific support need
- Given the coordinator opens the filter panel, when they apply a 'certification valid' filter, then only peer mentors with a non-expired certification are shown as markers on the map
- Given filters are applied, when the coordinator toggles to list view via the view-toggle-button, then the same filtered mentor set is shown in the mentor-list-fallback with identical results
- Given the coordinator applies a 'paused' status filter, when the map refreshes, then paused peer mentors are visually distinguished (greyed-out markers) rather than completely hidden, so the coordinator is aware of the full roster
- +3 more
As a As a Organization Administrator
I want to see which peer mentors have granted location consent for map visibility and be prompted to invite non-consenting mentors to opt in
So that I can maximise the usefulness of the map while fully respecting each mentor's privacy choices
- Given the coordinator opens the map view, when the screen loads, then a summary indicator shows the count of mentors visible on the map vs. total mentors in the chapter
- Given the coordinator taps the 'X mentors not on map' indicator, when the action sheet opens, then they see options to view the list of non-consenting mentors or send a bulk opt-in invitation notification
- Given the coordinator sends an opt-in invitation, when the action completes, then a confirmation toast confirms the notification was queued and the action cannot be repeated for the same mentors within 7 days to prevent harassment
- +3 more
As a As a Organization Administrator
I want to see all peer mentors in my chapter displayed as interactive markers on a geographic map
So that I can quickly assess geographic coverage and identify the closest available peer mentor to a contact who needs support
- Given the coordinator opens the map view screen, when the screen loads, then all peer mentors with location consent granted are rendered as map markers within 3 seconds
- Given there are peer mentors without location consent, when the map loads, then those mentors are excluded from the map and a count badge shows how many are hidden
- Given the coordinator pans or zooms the map, when the viewport changes, then markers update dynamically without full reload and maintain their relative geographic positions
- +3 more