Service Layer medium complexity mobile
0
Dependencies
0
Dependents
2
Entities
0
Integrations

Description

Orchestrates the retrieval and transformation of peer mentor geographic data for map rendering. It fetches mentor location records from the repository, applies business rules such as filtering by active status, and prepares structured map annotation objects for the UI layer. It also computes coverage metrics used to highlight underserved regions.

Feature: Peer Mentor Map

map-service

Sources & reasoning

Line 99 explicitly names geographic map view as a unique Blindeforbundet need for peer mentor matching and assignment dispatch across large counties. Line 358 places it in Fase 3 (third phase), which normalizes to v1.1. The blueprint confirms area [v1.1]. Feature is scoped exactly as defined in the blueprint.

Responsibilities

  • Fetch active mentor location records and transform them into map annotation models
  • Filter mentors by active status and association membership before exposing to UI
  • Compute regional coverage density scores and identify gap zones
  • Cache location data with a configurable TTL to reduce redundant network calls
  • Provide event notifications when mentor availability changes affect coverage

Interfaces

getActiveMentorAnnotations(): Promise<MentorAnnotation[]>
getCoverageReport(): Promise<CoverageReport>
getMentorsByRegion(regionId: string): Promise<MentorAnnotation[]>
invalidateCache(): void
subscribeToCoverageChanges(callback: (report: CoverageReport) => void): Unsubscribe

Related Data Entities (2)

Data entities managed by this component