KPI Aggregation Service
Component Detail
Service Layer
medium complexity
backend
1
Dependencies
1
Dependents
32
Entities
0
Integrations
Description
Backend service that computes and aggregates key performance indicators by querying PostgreSQL with organization-scoped SQL aggregates. Handles metric computation for active peer mentors, activity counts, pending approval queues, reimbursement totals, and Bufdir reporting progress with strict multi-tenant isolation via organization ID filtering.
kpi-aggregation-service
Responsibilities
- Compute aggregate KPI metrics from activities, approvals, expenses, and user data
- Enforce multi-tenant isolation by scoping all queries to the requesting organization
- Apply role-based metric visibility for coordinator local-association scope versus org admin full-organization scope
- Serve aggregated metrics via the REST API endpoint /api/v1/analytics/kpis
Interfaces
getKpis(organizationId, userRole, localAssociationId?)
getActivePeerMentorCount(organizationId, scope)
getTotalActivitiesLogged(organizationId, dateRange)
getPendingApprovalCount(organizationId)
getReimbursementTotals(organizationId, dateRange)
getBufdirReportingProgress(organizationId)
getActivityTrend(organizationId, period)
Relationships
Related Data Entities (32)
Data entities managed by this component
Accounting Export
24 fields
core
Achievement
16 fields
core
Activity
26 fields
core
Activity Approval
19 fields
core
Bufdir Report
21 fields
core
Certification
18 fields
core
Event
19 fields
core
Event Registration
13 fields
core
Expense
23 fields
core
Expense Approval
13 fields
core
Expense Type
20 fields
configuration
Organization
17 fields
core
Reimbursement
17 fields
core
User
21 fields
core
User Role Assignment
11 fields
core
Achievements
17 fields
core
Activities
24 fields
core
Activity Approvals
14 fields
core
Annual Summaries
26 fields
derived
Bufdir Reports
25 fields
core
Event Registrations
14 fields
core
Events
27 fields
core
Expense Approvals
13 fields
core
Expenses
31 fields
core
Local Associations
17 fields
core
Organizations
25 fields
core
Referral Trackings
13 fields
core
Reimbursements
21 fields
core
User Local Associations
11 fields
core
User Role Assignments
12 fields
core
User Roles
13 fields
core
Users
26 fields
core