low complexity extracted Statistics Confidence: 100%
2
Components
2
Shared
0
User Stories
Yes
Analyzed

Description

Personal Activity Statistics gives each peer mentor a clear view of their own contribution over time - number of activities logged, hours spent, contacts supported, and expense submissions, broken down by period and activity type. The screen aggregates data already captured through activity registration and presents it in role-appropriate charts and counters so volunteers can see at a glance what they have done this week, this month, and this year. The view is read-only and consumes pre-aggregated metrics from the backend so it works offline against the encrypted local DB. It is the foundation that later gamification surfaces (Wrapped, badges) build on, but on its own it delivers a basic, always-available "my numbers" experience that all four organizations confirmed as a Phase 1 must-have.

Sources & reasoning

MVP scope in §5 explicitly lists 'Enkel statistikkvisning per likeperson' and §7 Phase 1 repeats 'enkel statistikk' - making this a Phase 1 must_have. It is the data foundation that later gamification (Phase 3 Wrapped/badges) reads from, so it ships first.

  • Enkel statistikkvisning per likeperson og per koordinator
  • Mobil: aktivitetsregistrering, WCAG, enkel statistikk
  • Tre organisasjoner er inspirert av Spotify Wrapped og ønsker en funksjon som viser likepersonens bidrag over tid - «Din likepersonsĂĄrek».

Analysis

Business Value

Making personal effort visible directly addresses the chronic underreporting problem described in the workshops: volunteers stop logging when they cannot see what their logging is for. By surfacing a personal tally of activities, hours, and contacts, the feature converts the act of registration from administrative friction into a personal feedback loop that reinforces continued use of the app. Strategically, this is the lowest-cost building block for the broader retention and recognition story (gamification, Wrapped, certificates). It also gives coordinators a credible answer when peer mentors ask "why should I bother registering?" - increasing data completeness, which in turn improves Bufdir reporting accuracy and the organization's funding case.

Implementation Notes

Implement as a Personal Stats Screen backed by a Stats Aggregation Service that queries activities (and optionally expenses, attachments, events) filtered to the current user. Aggregations run server-side via the REST API, returning period buckets (week / month / year) and totals; the mobile client renders charts with the existing design token system and WCAG 2.2 AA primitives. Cache the most recent payload in the encrypted local DB so the screen renders offline; refresh on app foreground and after sync outbox drains. No new database tables - reuse existing activities, activity_attachments, and expenses joins. Scope strictly to the logged-in peer mentor's own data; respect role-based access control so coordinators viewing the same screen still see only their own personal numbers (team views live in Coordinator Team Reports).

Quality Assurance

Peer Mentor (Likeperson) — primary
1
Scenarios
6
UAT Steps
17
A11y Annotations
4
Role Boundaries
Peer Mentor (Likeperson)

Peer Mentor (Likeperson)

Quick UAT

  1. Logg inn i Meander-mobilappen som Likeperson med e-post og passord.
  2. Ă…pne 'Min statistikk' fra hjem-skjermen eller hamburgermenyen.
  3. Bekreft at summary-kortene viser totalt antall aktiviteter, timer og kontakter for inneværende periode.
  4. Bytt periodevelger fra Uke til MĂĄned og deretter til Ă…r.
  5. Bekreft at trendgrafen oppdateres for hver periode og at tallene i kortene samsvarer med grafen.
  6. Logg en ny aktivitet via 'Legg til' → Aktivitet, gå tilbake til 'Min statistikk' og bekreft at totalene øker med én.

Quick UAT — Accessibility

  1. Logg inn i Meander-mobilappen som Likeperson med e-post og passord.
    • Screen reader VoiceOver/TalkBack annonserer 'Logg inn'-overskrift; e-postfelt 'E-post, obligatorisk'; passordfelt 'Passord, obligatorisk, sikkert'.
    • Focus visibility Synlig fokusring pĂĄ alle inputfelt og Logg inn-knapp; alle felt har programmatiske labels.
    • Touch target Inputfelt og Logg inn-knapp er minst 24Ă—24 CSS px (faktisk ≥44Ă—44).
  2. Ă…pne 'Min statistikk' fra hjem-skjermen eller hamburgermenyen.
    • Screen reader Skjermleser annonserer 'Min statistikk, overskrift nivĂĄ 1' nĂĄr siden lastes.
    • Keyboard / focus Inngangspunkt nĂĄs via Tab-rekkefølge fra bunnmeny eller hamburger; Enter aktiverer.
    • Touch target Inngangspunkt ≥ 24Ă—24 CSS px.
  3. Bekreft at summary-kortene viser totalt antall aktiviteter, timer og kontakter for inneværende periode.
    • Screen reader Hvert kort annonseres som 'Aktiviteter, 42' / 'Timer, 18' / 'Kontakter, 7' — tall og etikett knyttet sammen, ikke kun visuelt.
    • Zoom Kortene er lesbare og ombrytes uten klipping ved 200 % zoom.
    • Contrast Tall og etiketter har minst 4.5:1 kontrast mot bakgrunn; status formidles ikke kun med farge.
  4. Bytt periodevelger fra Uke til MĂĄned og deretter til Ă…r.
    • Keyboard / focus Periodevelgeren nĂĄs med Tab; piltaster bytter segment; Enter/Space bekrefter.
    • Focus visibility Aktivt segment har synlig fokusring og 'aria-selected=true' annonseres.
    • Touch target Hvert segment ≥ 24Ă—24 CSS px.
  5. Bekreft at trendgrafen oppdateres for hver periode og at tallene i kortene samsvarer med grafen.
    • Screen reader Grafen har tekstalternativ/sammendrag som skjermleser leser opp (f.eks. tabell-fallback med periodeverdier).
    • Live region 'Statistikk oppdatert for MĂĄned' annonseres via polite live region etter periodebytte.
    • Contrast Grafens dataserier skilles ikke kun med farge — bruk mønster, etikett eller form i tillegg.
  6. Logg en ny aktivitet via 'Legg til' → Aktivitet, gå tilbake til 'Min statistikk' og bekreft at totalene øker med én.
    • Focus visibility Fokus returneres til 'Min statistikk'-overskriften ved tilbakenavigasjon.
    • Live region 'Aktivitet registrert' annonseres ved lagring; ved retur til statistikk: 'Statistikk oppdatert, 43 aktiviteter'.

Role Boundaries

4 role(s) must NOT access this feature
  • Coordinator (Koordinator)

    Koordinator ser sin egen personlige statistikk på denne skjermen, men IKKE en annen likepersons personlige statistikk — team-aggregater hører til 'Coordinator Team Reports'. Stats Aggregation Service avviser forespørsler med annet bruker-ID enn innlogget bruker (403).

  • Organization Administrator

    Org Admin logger ikke inn i mobilappen i admin-egenskap; aggregert org-statistikk hĂĄndteres i Admin Web Portal. Deep-link til annen brukers /stats returnerer 403.

  • Global Administrator

    Global Admin har ikke mobil-pĂĄlogging; skjermen er utilgjengelig. Stats Aggregation Service avviser kall uten gyldig mentor-scoped token (403).

  • Prospective Buyer

    Ingen konto og ingen tilgang til mobilappen eller statistikk-endepunktet.

Expected End State

Likepersonen ser sin egen, oppdaterte personlige statistikk (totaler + trend) med tall som matcher faktisk registrerte aktiviteter, kun basert pĂĄ egne data. Skjermen er fullt navigerbar via skjermleser og tastatur og oppfyller WCAG 2.2 AA.

User Stories

No user stories have been generated for this feature yet.