Service Layer medium complexity backend
1
Dependencies
1
Dependents
3
Entities
0
Integrations

Description

Server-side aggregation service that computes a peer mentor's annual impact metrics for a trailing 12-month window. Queries activities, events, contacts, and badges tables, assembles the summary payload, persists it to annual_summaries, and serves it to the mobile client via REST.

Feature: Annual Summary (Wrapped)

annual-summary-service

Responsibilities

  • Aggregate activity count, total hours, and unique contacts for trailing 12 months
  • Count event participations and milestone/badge achievements in period
  • Persist computed summary to annual_summaries (one row per user per year)
  • Serve pre-computed payload to Flutter client on demand
  • Support year-over-year comparison by retrieving prior-year record

Interfaces

generateAnnualSummary(userId: string, year: number) → Promise<AnnualSummaryPayload>
getAnnualSummary(userId: string, year: number) → Promise<AnnualSummaryPayload | null>
listAnnualSummaries(userId: string) → Promise<AnnualSummaryPayload[]>
aggregateActivityMetrics(userId: string, from: Date, to: Date) → Promise<ActivityMetrics>

Relationships

Dependencies (1)

Components this component depends on

Dependents (1)

Components that depend on this component

Related Data Entities (3)

Data entities managed by this component