How sunnyinspired/cms-frontend works
This is an HIV case-management dashboard for authenticated users to review program activity and manage case-manager and team performance. The principal workflow is viewing dashboard summaries, filtering or drilling into case-manager/CMT records, then examining detailed performance or exporting reports. The sampled code shows dashboard, detail, performance and report requests through the SPEED API client, plus performance tables and modal rendering. Team-directory pages are retained as documented-by-tree product areas, but their request wiring was not sampled; the README provides no product-specific capability details.
Main entry points: performance/page.tsx Performance views · dashboard/page.tsx Dashboard · SPEEDInterceptor.tsx SPEED API client · PerformanceModal.tsx Metric detail modal
Components 19
Access
- NextAuth endpoint
app/api/auth/[...nextauth]/route.ts - CMA navigation
app/components/Navbar.tsx - CMA shell
app/cma/layout.tsx - SPEED API client
app/api/interceptors/SPEEDInterceptor.tsx
Program overview
- Dashboard
app/cma/dashboard/page.tsx - Cohort filters
app/components/Filters.tsx
People and teams
- Case-manager directory
app/cma/case-managers/page.tsx - Case-manager detail
app/cma/case-managers/[id]/page.tsx - CMT directory
app/cma/case-management-teams/page.tsx - CMT detail
app/cma/case-management-teams/[id]/page.tsx
Performance and reporting
- Performance views
app/cma/performance/page.tsx - Manager table
app/components/performance/CaseManagerTable.tsx - CMT table
app/components/performance/CMTTable.tsx - Metric detail modal
app/components/performance/PerformanceModal.tsx - Reports and exports
app/cma/reports/page.tsx - Manager metrics types
app/types/case_manager.ts - CMT metrics types
app/types/cmt.ts
Other components
- Dashboard user
- SPEED service
Connections 19
- Dashboard user → NextAuth endpoint: signs in
- Dashboard user → Dashboard: views
- CMA shell → CMA navigation: renders
app/cma/layout.tsx - Dashboard → Cohort filters: uses
app/cma/dashboard/page.tsx - Dashboard → SPEED API client: requests through
app/cma/dashboard/page.tsx - Dashboard → SPEED service: fetches summaries
app/cma/dashboard/page.tsx - Case-manager detail → SPEED API client: requests through
app/cma/case-managers/[id]/page.tsx - Case-manager detail → SPEED service: fetches detail
app/cma/case-managers/[id]/page.tsx - Performance views → SPEED API client: requests through
app/cma/performance/page.tsx - Performance views → SPEED service: fetches metrics
app/cma/performance/page.tsx - Performance views → Manager table: renders
app/cma/performance/page.tsx - Performance views → CMT table: renders
app/cma/performance/page.tsx - Performance views → Metric detail modal: renders
app/cma/performance/page.tsx - Manager table → Manager metrics types: uses types
app/components/performance/CaseManagerTable.tsx - CMT table → CMT metrics types: uses types
app/components/performance/CMTTable.tsx - Metric detail modal → Manager metrics types: uses types
app/components/performance/PerformanceModal.tsx - Metric detail modal → CMT metrics types: uses types
app/components/performance/PerformanceModal.tsx - Reports and exports → SPEED API client: requests through
app/cma/reports/page.tsx - Reports and exports → SPEED service: fetches metrics
app/cma/reports/page.tsx