Skip to Content
Living documentation — last reviewed 2026-05-28
FeaturesDashboardCode map — dashboard overview

Code map — dashboard overview

Shared

PathWhat
libs/shared/src/lib/types/insights.types.tsInsight / InsightId / severity / category contract
libs/shared/src/lib/i18n/dictionaries/{en,he,ru}.jsoninsights.items.<id>, insights.allClear/askSpotter/spotterPrompt, dashboard.greetings/todayPanel/stats.*

API

PathWhat
apps/api/src/insights/insights.service.tsRule catalog, RULE_ROLES, getOrgInsights(orgId, { role })
apps/api/src/insights/insights.controller.tsStaff-role gate, passes the caller’s role through
apps/api/src/class-sessions/class-sessions.service.ts (findUpcomingToday)Staff-only (owner/admin/coach) + hasWorkout per session
Specsinsights.service.unit.spec.ts (+ driver), insights.controller.unit.spec.ts, class-sessions.service.unit.spec.ts (“findUpcomingToday RBAC”)

Web

PathWhat
apps/web/src/app/[lang]/(protected)/dashboard/overview/page.tsxServer prefetches (analytics, members role=member, programs), renders OverviewV2
apps/web/src/components/overview/v2/overview-v2.tsxRevamped page composition
apps/web/src/components/overview/v2/action-center.tsxFeed, expandable review-queue row, Ask Spotter
apps/web/src/components/overview/v2/pulse-strip.tsxRole/mode-composed KPI tiles (pulse-tile-* testids, data-tour-id="stat-cards")
apps/web/src/components/overview/v2/today-panel.tsxTodaySchedulePanel (+ no-workout chip), TodayCoachingPanel
apps/web/src/components/overview/coach-roster.tsxRoster table, used by the v2 Today panel
apps/web/src/components/overview/coach-overview.tsxCoachOverviewData contract for GET /assignments/coach-overview (types only since 2026-08-22)
apps/web/src/components/overview/check-ins/check-in-review-queue.tsxembedded prop hides the heading inside the feed
apps/web/src/providers/agent-provider.tsxopenWith(text, context) + useAgentOptional
Specsv2/action-center.int.spec.tsx, v2/pulse-strip.int.spec.tsx (+ drivers)