How varun-pahuja/sih-proto works
Welfare Leakage Detection is a prototype for identifying suspicious welfare beneficiaries and routing findings into officer review, while citizens can submit and track grievances. Officers sign in, inspect dashboards and beneficiary records, review flags, and use reporting and insight views; citizen grievances provide a separate feedback channel. The web app calls an Express API, which exposes auth, officer, and citizen routes with server-side controls. README capabilities are included, but unsampled endpoint wiring is shown only at the route-module level; records and scoring are documented as mock or in-memory.
Main entry points: App.tsx Portal routing · api.ts API client · auth.ts Authentication routes · officer.ts Officer operations
Components 24
Web portals
- Portal routing
welfare-leakage/apps/web/src/App.tsx - Role sign-in
welfare-leakage/apps/web/src/pages/LoginPage.tsx - Session handling
welfare-leakage/apps/web/src/hooks/useAuth.tsx - Officer dashboard
welfare-leakage/apps/web/src/pages/officer/Dashboard.tsx - Beneficiary search/detail
welfare-leakage/apps/web/src/pages/officer/BeneficiarySearch.tsx - Flag review queue
welfare-leakage/apps/web/src/pages/officer/FlagQueue.tsx - Leak heatmap
welfare-leakage/apps/web/src/pages/officer/Heatmap.tsx - Model insights
welfare-leakage/apps/web/src/pages/officer/MLInsights.tsx - Reports/export
welfare-leakage/apps/web/src/pages/officer/Reports.tsx - Grievance submission
welfare-leakage/apps/web/src/pages/citizen/SubmitGrievance.tsx - Grievance tracking
welfare-leakage/apps/web/src/pages/citizen/TrackGrievance.tsx - API client
welfare-leakage/apps/web/src/utils/api.ts
API services
- HTTP API
welfare-leakage/apps/api/src/index.ts - Authentication routes
welfare-leakage/apps/api/src/routes/auth.ts - Officer operations
welfare-leakage/apps/api/src/routes/officer.ts - Citizen operations
welfare-leakage/apps/api/src/routes/citizen.ts
Access and audit
- Request validation
welfare-leakage/apps/api/src/routes/validation.ts - Auth and RBAC
welfare-leakage/apps/api/src/middleware/auth.ts - Audit logging
welfare-leakage/apps/api/src/middleware/audit.ts - JWT utilities
welfare-leakage/apps/api/src/utils/jwt.ts
Mock domain data
- Mock beneficiary data
welfare-leakage/apps/api/src/routes/officer.ts - Mock grievance data
welfare-leakage/apps/api/src/routes/citizen.ts
Other components
- Officer/Admin
- Citizen
Connections 35
- Officer/Admin → Portal routing: uses portal
- Citizen → Portal routing: uses portal
- Portal routing → Role sign-in: routes login
- Portal routing → Officer dashboard: routes officer
- Portal routing → Beneficiary search/detail: routes search
- Portal routing → Flag review queue: routes review
- Portal routing → Leak heatmap: routes heatmap
- Portal routing → Model insights: routes insights
- Portal routing → Reports/export: routes reports
- Portal routing → Grievance submission: routes submit
- Portal routing → Grievance tracking: routes tracking
- Role sign-in → Session handling: signs in
- Session handling → API client: sends auth requests
- Beneficiary search/detail → API client: fetches records
- Grievance submission → API client: submits grievance
- Grievance tracking → API client: looks up status
- API client → HTTP API: HTTP requests
- HTTP API → Authentication routes: dispatches auth
- HTTP API → Officer operations: dispatches officer
- HTTP API → Citizen operations: dispatches citizen
- Authentication routes → Request validation: validates credentials
- Officer operations → Request validation: validates requests
- Citizen operations → Request validation: validates requests
- Authentication routes → JWT utilities: issues tokens
- Authentication routes → Auth and RBAC: checks session
- Authentication routes → Audit logging: records actions
- Officer operations → Auth and RBAC: enforces access
- Officer operations → Audit logging: records actions
- Citizen operations → Mock grievance data: reads/writes
- Officer operations → Mock beneficiary data: reads/writes
- Officer dashboard → API client: loads KPIs
- Flag review queue → API client: loads flags
- Leak heatmap → API client: loads metrics
- Model insights → API client: loads model data
- Reports/export → API client: requests export