Infrastructure medium complexity mobile
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Provides the underlying map rendering engine and tile infrastructure used by the UI layer to display geographic content. It wraps a third-party mapping SDK and exposes a normalized interface for adding annotations, controlling the viewport, and handling map lifecycle events. It manages API key configuration, tile caching, and offline map support required for regions with limited connectivity.

Feature: Peer Mentor Map

map-provider

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

  • Initialize and configure the third-party map SDK with API credentials and regional tile settings
  • Manage tile caching for offline map support in low-connectivity environments
  • Expose a normalized annotation API for placing and updating mentor pins and overlays
  • Handle map lifecycle events including load completion, error states, and tile fetch failures
  • Report SDK usage metrics and tile load performance for operational monitoring

Interfaces

initialize(config: MapProviderConfig): Promise<void>
addAnnotations(annotations: MapAnnotation[]): void
removeAnnotation(annotationId: string): void
setViewport(viewport: MapViewport): void
onMapReady(callback: () => void): void
onTileError(callback: (error: TileError) => void): void