medium complexity extracted Statistics Confidence: 100%
11
Components
106
Shared
0
User Stories
Yes
Analyzed

Description

This feature provides peer mentors with a personal dashboard showing their own activity history, contribution totals, and engagement trends over time. Mentors can view logged activities by type, date range, and contact, giving them a clear picture of their work. The dashboard serves both as a motivational tool and a practical self-monitoring aid, helping mentors stay engaged and aware of their impact without requiring coordinator intervention.

User Flow

Personal Activity Statistics user flow
Click to expand

Analysis

Business Value

Peer mentors are volunteers who often feel their contributions go unseen. Giving them personal statistics creates intrinsic motivation, reduces dropout, and provides a foundation for the gamification features planned in later releases. From an organizational standpoint, self-monitoring reduces the coordinator's administrative burden by empowering mentors to track their own engagement. The feature also directly supports the Wrapped and achievement badge features in v2.0 by establishing the underlying data aggregation pipeline. High retention of active mentors is a core business metric for all four partner organizations.

Implementation Notes

The stats aggregation service reads activity records from the shared PostgreSQL database, grouping and summing by mentor ID, activity type, and time window. Queries must be tenant-scoped to prevent cross-organization data leakage. The Flutter UI uses Riverpod for state management and renders charts via a lightweight chart library (e.g., fl_chart). Data is cached locally to support offline viewing, with background sync updating the cache when connectivity is restored. WCAG 2.2 AA compliance requires chart data to be available as accessible text tables alongside visual representations. Coordinators see a read-only version of this screen for any mentor in their local association.

Components (117)

User Interface (5)

Service Layer (3)

Data Layer (2)

Infrastructure (1)

Shared Components

These components are reused across multiple features

Service Layer (34)

Data Layer (22)

Infrastructure (38)

infrastructure Keychain/Keystore Adapter low Shared infrastructure JWT Claims Extractor low Shared infrastructure Organization Labels Adapter low Shared infrastructure Keychain/Keystore Adapter low Shared infrastructure Auth API Client medium Shared infrastructure REST API Client medium Shared infrastructure WCAG Accessibility Adapter low Shared infrastructure Registration API Client low Shared infrastructure Accounting API Client high Shared infrastructure PDF Renderer Adapter medium Shared infrastructure File Share Adapter low Shared infrastructure FCM/APNs Adapter high Shared infrastructure Share Sheet Adapter low Shared infrastructure Share Plus Adapter low Shared infrastructure Platform Accessibility Bridge medium Shared infrastructure Semantics Override Adapter high Shared infrastructure URL Launcher Adapter low Shared infrastructure Markdown Content Renderer low Shared infrastructure Network Connectivity Monitor low Shared infrastructure Expense Receipt Storage Adapter low Shared infrastructure Audit Log Writer low Shared infrastructure Feature Flag Checker low Shared infrastructure Logo Upload Adapter low Shared infrastructure Terminology Constants Registry low Shared infrastructure Feature Flag Cache Adapter low Shared infrastructure Org Scope JWT Resolver medium Shared infrastructure Association Audit Logger low Shared infrastructure Token Blocklist medium Shared infrastructure Analytics Tracker low Shared infrastructure SEO Metadata Config low Shared infrastructure Analytics Tracker low Shared infrastructure Analytics Tracker low Shared infrastructure Sales Analytics Tracker low Shared infrastructure Email Provider Adapter low Shared infrastructure Terms of Service Content Provider low Shared infrastructure Legal PDF Asset Provider low Shared infrastructure Consent-Gated Script Loader low Shared infrastructure Legal Page Layout low Shared

User Stories

No user stories have been generated for this feature yet.