medium complexity MVP extracted Statistics Confidence: 100%
2
Components
43
Shared
0
User Stories
Yes
Analyzed

Description

Gives coordinators an aggregated view of activity registered by the peer mentors they oversee, including per-volunteer totals, activity-type breakdowns, and time-period filtering. Coordinators use this view to monitor participation rates, identify underreporting, and build the ground-level dataset that feeds Bufdir export run from the Admin Web Portal. The screen is role-gated and scoped to the coordinator's own local association.

Sources & reasoning

The first ref places coordinator team statistics explicitly in Phase 1 MVP. The second confirms that coordinators never access the Admin Web Portal, making a mobile team report the only surface where they can review their peer mentors' activity - not a convenience but a functional requirement. Blueprint marks this feature [MVP].

No source references — this artifact was included based on reasoning alone (see above).

Analysis

Business Value

Coordinators are accountable for the completeness and quality of activity data across their local association, yet without a team-level view they must rely on manual follow-up and spreadsheets - the exact workflow all four organizations described as unsustainable. Team reports let coordinators proactively identify inactive or underreporting peer mentors before the end-of-period reporting deadline. The feature also makes coordinator-level accuracy a prerequisite for organizational Bufdir reporting, creating a clear quality-assurance loop between the mobile app and the Admin Web Portal export. Placing this capability on mobile (rather than admin-only) is essential because coordinators do not log in to the Admin Web Portal.

Implementation Notes

The coordinator role is enforced via RBAC; the aggregation endpoint returns team-scoped data when the caller holds a coordinator role, filtered to the organization and local association managed by that coordinator. The SQL query joins activities with user_organization_roles to scope results to the correct sub-tree in the organization hierarchy. Flutter renders a Team Report Screen with per-mentor rows, aggregate totals, and time-period filtering. Data is paginated and cached in Drift for offline access. Sorting by activity count or hours should be supported. Reuses the aggregation logic from personal-activity-statistics; the difference is scope (single user vs. team) not computation. WCAG 2.2 AA applies to all table and chart elements - row/column headers must be announced by screen readers.

Components (45)

User Interface (1)

Service Layer (1)

Shared Components

These components are reused across multiple features

User Stories

No user stories have been generated for this feature yet.