Personal Activity Statistics
Feature Detail
Description
This feature provides peer mentors with a personal dashboard showing their own activity history, impact metrics, and contribution summaries over time. Users can view logged activities broken down by type, contact, and time period, giving them a clear picture of their volunteer work. The statistics screen supports filtering by date range and presents data in an accessible, visually clear format compliant with WCAG 2.2 AA standards. It serves as both a motivational tool and a factual record of individual contributions.
User Flow
Analysis
Showing peer mentors a summary of their own contributions is a proven motivational lever - volunteers who can see the tangible impact of their work are more likely to remain active and engaged. This feature directly reduces the dropout rate among peer mentors by making invisible effort visible. For the platform organisations (NHF, HLF, Blindeforbundet), higher retention of trained peer mentors reduces recruitment and onboarding costs. It also establishes the data foundation for Bufdir reporting and gamification features in later phases, making it a strategic investment in platform longevity and engagement.
The statistics service queries the activities table filtered by the authenticated user's ID, aggregating by activity_type, contact, and time period using PostgreSQL window functions and GROUP BY clauses. The Flutter UI uses Riverpod providers to stream aggregated data from the REST API, rendering charts via a lightweight charting library (e.g., fl_chart) with accessible colour contrast ratios and screen reader labels on all data points. Date range filtering is handled client-side for responsiveness, with full data fetched on screen load. All chart elements must have semantic ARIA equivalents rendered in an off-screen list for VoiceOver/TalkBack compatibility per WCAG 2.2 AA requirements.
Components (37)
Shared Components
These components are reused across multiple features
Service Layer (9)
Data Layer (12)
Infrastructure (7)
User Stories
No user stories have been generated for this feature yet.