Service Layer medium complexity backend
0
Dependencies
0
Dependents
8
Entities
0
Integrations

Description

Backend service that aggregates activity data across peer mentor networks into structured team report payloads. It applies business rules for participation rate calculation and engagement scoring, and serves as the data provider for Bufdir Report Generation. Handles authorization to ensure coordinators only access their own networks.

Feature: Team Reports

team-report-service

Sources & reasoning

Line 326 places activity oversight and basic statistics in the Admin MVP scope. Line 195 lists coordinator and org-level dashboards as a core admin portal capability. Team Reports is the direct realization of these requirements. Blueprint assigns MVP, consistent with the Phase 1 admin scope in the source doc.

  • docs/source/likeperson.md · line 326
    Aktivitetsoversikt og grunnleggende statistikk
  • docs/source/likeperson.md · line 195
    Coordinator and organization-level dashboards and KPIs

Responsibilities

  • Aggregate logged activities by team, area, and time period
  • Calculate participation rates and engagement metrics per peer mentor
  • Enforce role-based access so coordinators see only their assigned teams
  • Produce structured report payloads consumed by TeamReportPage and Bufdir Report Generation
  • Identify and flag teams or mentors with data gaps or low activity

Interfaces

getTeamReport(teamId: string, dateRange: DateRange, requesterId: string): TeamReportDTO
listTeamSummaries(orgId: string, filters: ReportFilters): TeamSummary[]
calculateParticipationRate(teamId: string, period: DateRange): number
detectDataGaps(teamId: string, period: DateRange): GapReport[]