How lifeinaide/prakalp works
PRAKALP is a role-based prototype portal for reconciling CPSE material records into centrally governed CNMC codes. The main workflow runs from steward data onboarding and duplicate screening, through reviewer match decisions, to approved CNMC/passport records that stewards and administrators can search or govern. Administrative analytics, audit, disputes, quality alerts, clarifications, and policy pages are distinct product branches. The README describes static CSV/JSON data and mock access; unsampled implementation details are not inferred, and edges are limited to documented or excerpt-supported relationships.
Main entry points: App.tsx Role Router · mockApi.ts Mock Data API · MatchDetailPage.tsx Match Decision · DataOnboardingPage.tsx Data Onboarding
Components 27
Portal and Access
- Role Router
src/App.tsx - Role Login
src/pages/LoginPage.tsx - Session Context
src/context/AuthContext.tsx - Role Guard
src/components/RequireAuth.tsx - Portal Shell
src/components/AppShell.tsx - Shared UI
src/components/SharedUI.tsx
Steward Operations
- Data Onboarding
src/pages/steward/DataOnboardingPage.tsx - Field Mapping
src/pages/steward/FieldMappingPage.tsx - Quality Alerts
src/pages/steward/QualityAlertsPage.tsx - Clarification Inbox
src/pages/steward/ClarificationsInboxPage.tsx - New Code Request
src/pages/steward/NewCodeRequestPage.tsx - CNMC Registry
src/pages/steward/CnmcSearchPage.tsx - Material Passport
src/pages/steward/NationalMaterialPassportPage.tsx
Review and Approval
- Match Queue
src/pages/reviewer/PendingMatchQueuePage.tsx - Match Decision
src/pages/reviewer/MatchDetailPage.tsx - Clarification Request
src/pages/reviewer/ClarificationRequestFormPage.tsx
National Governance
- Admin Dashboard
src/pages/admin/AdminDashboardPage.tsx - Registry Configuration
src/pages/admin/CpseManagementPage.tsx - Category Management
src/pages/admin/CategoriesPage.tsx - Trust Thresholds
src/pages/admin/TrustScoreThresholdsPage.tsx - National Analytics
src/pages/admin/NationalAnalyticsPage.tsx - Audit Trail
src/pages/admin/AuditLogPage.tsx - Dispute Resolution
src/pages/admin/DisputeResolutionPage.tsx - Policy Pages
src/pages/policy/PolicyPages.tsx
Other components
- Portal User
- Mock Data API
src/api/mockApi.ts - CSV Parser
src/api/csvParser.ts
Connections 27
- Portal User → Role Router: opens portal
src/App.tsx - Role Router → Role Login: routes to
src/App.tsx - Role Router → Data Onboarding: routes to
src/App.tsx - Role Router → Field Mapping: routes to
src/App.tsx - Role Router → Match Queue: routes to
src/App.tsx - Role Router → Match Decision: routes to
src/App.tsx - Role Router → Policy Pages: routes to
src/App.tsx - Role Router → Session Context: provides session
src/App.tsx - Role Guard → Session Context: checks role
src/components/RequireAuth.tsx - Data Onboarding → Mock Data API: reads data
src/pages/steward/DataOnboardingPage.tsx - New Code Request → Mock Data API: checks duplicates
src/pages/steward/NewCodeRequestPage.tsx - CNMC Registry → Mock Data API: searches registry
src/pages/steward/CnmcSearchPage.tsx - Match Queue → Mock Data API: loads statistics
- Match Decision → Mock Data API: approves or rejects
src/pages/reviewer/MatchDetailPage.tsx - Admin Dashboard → Mock Data API: loads statistics
src/pages/admin/AdminDashboardPage.tsx - Registry Configuration → Mock Data API: loads CPSE data
src/pages/admin/CpseManagementPage.tsx - Role Login → Session Context: sets user
src/context/AuthContext.tsx - Portal User → Data Onboarding: submits material data
README.md - Portal User → Match Queue: reviews matches
README.md - Match Decision → Material Passport: creates on approval
README.md - Portal User → Quality Alerts: reviews alerts
README.md - Portal User → Clarification Inbox: responds to requests
README.md - Portal User → Admin Dashboard: governs registry
README.md - Portal User → National Analytics: views analytics
README.md - Portal User → Audit Trail: reviews actions
README.md - Portal User → Dispute Resolution: resolves disputes
README.md - Shared UI → Mock Data API: uses domain types
src/components/SharedUI.tsx