medium complexity extracted Reporting & Export Confidence: 100%
2
Components
18
Shared
0
User Stories
Yes
Analyzed

Description

Team Reports provides coordinators and organization administrators with aggregated activity statistics for their peer mentor teams. The page consolidates registered activities, contact interactions, and time-logged data per coordinator group or local association, enabling oversight of team performance without accessing individual user data in raw form. The feature is designed for the Admin Web Portal and renders pre-aggregated data served from the shared backend, respecting multi-tenant isolation so each organization sees only its own data.

Sources & reasoning

Fase 1 MVP scope for Admin Web Portal explicitly includes 'aktivitetsoversikt og grunnleggende statistikk' (lines 325-328), normalizing to MVP. Team Reports is the concrete implementation of that requirement. Source also clarifies the admin portal is the reporting surface, confirming this belongs in Reporting & Export.

  • docs/source/likeperson.md · line 325-328
    Admin Web Portal (MVP scope): Brukeradministrasjon (invitere, deaktivere, rolletildeling) Organisasjonsinnstillinger og terminologikonfigurasjon Aktivitetsoversikt og grunnleggende statistikk
  • Sømløs Bufdir-rapportering - Rapporteringsdata samles inn gjennom aktivitetsregistrering i mobilappen, men selve Bufdir-eksporten er en admin-funksjon

Analysis

Business Value

All four workshop organizations require coordinators and org admins to monitor team-level activity without resorting to manual Excel aggregation. NHF currently routes Word forms through regions to central Excel - a process described as unsustainable. Team Reports replaces this with a structured, always-current view that directly reduces administrative overhead. For Bufdir-funded organizations, team-level data is also a prerequisite for generating compliant reports, making this feature a foundational dependency for the reporting pipeline. Providing this in MVP prevents coordinators from reverting to legacy systems while Bufdir export is rolled out in Fase 2.

Implementation Notes

Implement as a server-rendered Next.js page in the Admin Web Portal, querying the shared PostgreSQL database via parameterized SQL aggregations grouped by organization, area, and coordinator. Use row-level security or explicit tenant_id filtering to enforce isolation. The API endpoint should return pre-aggregated totals (activity count, unique contacts, total hours) to avoid sending raw records to the client. Pagination and date-range filtering are required for organizations with high activity volumes (HLF reported one peer mentor with 380 registrations in a year). Export to CSV should be a stretch goal for MVP, promoted to confirmed scope in Fase 2 alongside Bufdir export.

Quality Assurance

Organization Administrator (primary)
1
Scenarios
5
UAT Steps
17
A11y Annotations
3
Role Boundaries
Organization Administrator

Organization Administrator

Quick UAT

  1. Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Rapportering → Teamrapporter.
  2. Velg ønsket datoperiode i datovelgeren og bekreft at tabellen oppdateres med filtrerte data.
  3. Velg et spesifikt koordinatorlag fra nedtrekksmenyen for Teamomfang og bekreft at visningen begrenses til det valgte laget.
  4. Verifiser at tabellen viser aggregerte tall (aktiviteter, kontaktinteraksjoner, loggede timer) uten ĂĄ eksponere individuelle brukerdata i rĂĄformat.
  5. Verifiser at kun data fra din egen organisasjon vises — ingen data fra andre organisasjoner er synlige.

Quick UAT — Accessibility

  1. Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Rapportering → Teamrapporter.
    • Screen reader Sideoverskrift 'Teamrapporter' annonseres ved sidelasting; navigasjonslenken 'Rapportering' har semantisk label.
    • Keyboard / focus Tab-rekkefølge: toppnavigasjon → sidepanel → sidetittel → filteromrade → tabell.
    • Focus visibility Synlig fokusring pĂĄ alle navigasjonselementer; aktiv side markert med aria-current='page'.
  2. Velg ønsket datoperiode i datovelgeren og bekreft at tabellen oppdateres med filtrerte data.
    • Keyboard / focus Datovelger nĂĄs med Tab; piltaster navigerer kalenderen; Enter bekrefter valg.
    • Focus visibility Fokus returnerer til datovelger-knapp etter lukking av datovelger-panel.
    • Touch target Datovelger-knapp og navigasjonspiler ≥ 24Ă—24 CSS px.
    • Live region 'Tabellen er oppdatert med data for valgt periode.'
  3. Velg et spesifikt koordinatorlag fra nedtrekksmenyen for Teamomfang og bekreft at visningen begrenses til det valgte laget.
    • Screen reader Nedtrekksmeny annonsert som 'Teamomfang, kombinasjonsboks'; valgt alternativ leses opp ved endring.
    • Keyboard / focus Alt+pil-ned ĂĄpner nedtrekksmenyen; piltaster navigerer alternativer; Enter velger.
    • Live region 'Tabellen er oppdatert. Viser data for [lagnavn].'
    • Contrast Valgt alternativ skilles ikke fra andre kun med farge; tekst eller ikon bekrefter valg.
  4. Verifiser at tabellen viser aggregerte tall (aktiviteter, kontaktinteraksjoner, loggede timer) uten ĂĄ eksponere individuelle brukerdata i rĂĄformat.
    • Screen reader Tabellkolonner har scope='col'-overskrifter; rader annonseres med kolonnekontekst ved navigasjon.
    • Keyboard / focus Piltaster navigerer tabellceller; Tab flytter mellom interaktive elementer.
    • Zoom Tabellen er lesbar og horisontal scrolling er tilgjengelig ved 200% zoom uten tap av innhold.
    • Contrast Alle tallverdier og kolonneetiketter har minimum 4.5:1 kontrastforhold mot bakgrunn.
  5. Verifiser at kun data fra din egen organisasjon vises — ingen data fra andre organisasjoner er synlige.
    • Screen reader Organisasjonsnavn i sideoverskriften leses opp for ĂĄ bekrefte kontekst.
    • Focus visibility Ingen skjulte fokuselementer fra andre organisasjoners dataseksjoner i DOM.

Role Boundaries

3 role(s) must NOT access this feature
  • Peer Mentor

    Admin-portalen er ikke tilgjengelig for Peer Mentors; innlogging til admin-portalen returnerer 403. Teamrapporter-skjermen finnes ikke i mobilappens navigasjon.

  • Coordinator

    Admin-portalen er ikke tilgjengelig for Coordinators; innlogging til admin-portalen returnerer 403. Coordinator-rollen i mobilappen har ikke tilgang til admin-rapportfunksjoner.

  • Prospective Organization Representative

    Ingen autentisert tilgang til admin-portalen; forsøk på innlogging avvises.

Expected End State

Teamrapport-siden viser korrekte aggregerte aktivitetstall, kontaktinteraksjoner og loggede timer for valgt periode og teamomfang, scoped til innlogget organisasjon, uten eksponering av individuelle brukerdata i rĂĄformat.

User Stories

No user stories have been generated for this feature yet.