medium complexity extracted Statistics & Reporting Confidence: 100%
6
Components
58
Shared
0
User Stories
Yes
Analyzed

Description

This feature gives coordinators a team-level reporting view showing aggregated activity data across all peer mentors within their local association. Coordinators can filter by date range, activity type, and individual peer mentor to identify who is active, who may need follow-up, and how the team is performing collectively. The report supports export or sharing capabilities and provides the visibility coordinators need to manage their volunteers effectively and compile data for their regional or national organization.

User Flow

Coordinator Team Reports user flow
Click to expand

Analysis

Business Value

Coordinators are the operational backbone of all three organizations, yet they currently rely on manual Excel aggregation or individual follow-ups to understand team performance. This feature eliminates that overhead by providing real-time team visibility. It enables proactive management — identifying inactive volunteers before they disengage, recognizing high performers, and ensuring equitable distribution of assignments. For NHF specifically, where a coordinator may oversee volunteers across multiple local associations, team reports are essential for preventing duplication and ensuring complete coverage. The feature also feeds directly into Bufdir reporting requirements, making the coordinator's quarterly reporting burden significantly lighter.

Implementation Notes

The coordinator report screen is a Flutter page restricted by role guard to Coordinator and above roles. The backend exposes a filtered aggregation endpoint on the Next.js API that accepts query parameters for association_id, date_from, date_to, peer_mentor_id, and activity_type_id. PostgreSQL CTEs compute per-mentor totals joined against the peer_mentors and user_organization_roles tables, scoped to the requesting coordinator's association. The Flutter UI presents a sortable list of peer mentors with summary stats and a drill-down to individual activity logs. Filter widgets use Riverpod providers for reactive updates. Export functionality (CSV or PDF) is handled server-side to keep the mobile payload small. All role-scoping enforced at API middleware level.

Components (64)

User Interface (3)

Service Layer (2)

Data Layer (1)

Shared Components

These components are reused across multiple features

Infrastructure (20)

User Stories

No user stories have been generated for this feature yet.