Service Layer medium complexity backend
0
Dependencies
0
Dependents
2
Entities
0
Integrations

Description

Retrieves and aggregates platform events for a given organization, serving as the data layer between the backend event store and the admin feed UI. Handles scoping events to the correct organization, pagination, and filtering logic. Exposes an API consumed by the ActivityFeedWidget.

Feature: Activity Feed

activity-feed-service

Sources & reasoning

Line 193 lists activity oversight and approval workflows as a core Admin Web Portal capability. Line 326 includes activity overview in the MVP admin scope. The activity feed is the standard pattern for delivering this oversight - a live, filterable event stream that complements aggregated KPI cards and reduces manual navigation for administrators managing active peer mentor networks across large organizations.

Responsibilities

  • Query and return paginated activity events scoped to the requesting administrator's organization
  • Aggregate events from multiple sources (registrations, approvals, user actions, system events)
  • Apply date range and event-type filters before returning results
  • Expose a real-time subscription or polling endpoint for live feed updates
  • Track which events have been reviewed or actioned by admins

Interfaces

getFeed(orgId: string, options: FeedQueryOptions): Promise<PaginatedResult<ActivityEvent>>
getUnreviewedCount(orgId: string): Promise<number>
markReviewed(orgId: string, eventId: string): Promise<void>
subscribeFeed(orgId: string, callback: (event: ActivityEvent) => void): Unsubscribe

Related Data Entities (2)

Data entities managed by this component