MapService
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations
Description
Business logic layer that orchestrates mentor location data retrieval, filter processing, and geographic calculations for the map feature. It translates raw geolocation records into map-ready structures and applies domain rules such as visibility based on role-based access. This service coordinates between the repository layer and the UI to ensure only authorized mentor locations are surfaced.
map-service
Sources & reasoning
Lines 99 and 359 directly name geographic map view as a Blindeforbundet need and place it in Fase 3. Fase 3 maps to v1.1 by ordinal position. The blueprint confirms this area at v1.1 phase.
-
docs/source/likeperson.md · line 99Geografisk kartvisning av likepersoner for matching og oppdragstildeling (særlig store fylker).
-
docs/source/likeperson.md · line 359Geografisk kartvisning (Blindeforbundet)
Responsibilities
- Fetch and aggregate mentor geolocation data for the current coordinator scope
- Apply role-based access rules to filter visible mentor locations
- Process and normalize filter parameters before querying the repository
- Calculate geographic coverage metrics and gap indicators
- Transform repository records into map-ready MentorLocation view models
Interfaces
getMentorLocations(coordinatorId: string, filters: MapFilterOptions): MentorLocation[]
getCoverageMetrics(regionId: string): CoverageReport
getMentorMapSummary(mentorId: string): MentorSummary
applyAccessPolicy(mentors: MentorLocation[], roleContext: RoleContext): MentorLocation[]
Related Data Entities (1)
Data entities managed by this component