Report Generation Service
Component Detail
Service Layer
medium complexity
backend
1
Dependencies
1
Dependents
7
Entities
0
Integrations
Description
Backend service that aggregates raw activity records into summary statistics using SQL GROUP BY queries on the activities, users, and organizations tables. Accepts validated filter parameters and returns structured report data including participation counts and engagement metrics per coordinator and local association.
report-generation-service
Responsibilities
- Aggregate activity records by coordinator, local association, and activity type using GROUP BY queries
- Apply role-scoped data filters (coordinator sees own association, org admin sees full org)
- Validate and sanitize incoming filter parameters server-side
- Generate CSV-serializable report payloads on demand
- Support pagination for large result sets
Interfaces
generateReport(filters: ReportFilters, userContext: UserContext): ReportData
exportCSV(filters: ReportFilters, userContext: UserContext): Buffer
validateFilters(filters: ReportFilters): ValidationResult
Relationships
Related Data Entities (7)
Data entities managed by this component