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.

Feature: Team Reports

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

Dependencies (1)

Components this component depends on

Dependents (1)

Components that depend on this component