How blueberryrush/prahari-mplads works
PRAHARI is an MPLADS civic-intelligence prototype for public project exploration and official risk investigation. Its principal workflow moves from the command centre’s priority cases to a risk profile, evidence review, investigation assessment, field verification, and recorded feedback. The frontend also supports citizen map-based exploration and related risk, financial, duplicate, and bottleneck analysis. The backend exposes project and investigation APIs backed by database services. The README describes product capabilities beyond the sampled implementation; those branches are represented without inferring unshown call paths.
Main entry points: App.jsx App Router · InvestigationCentre.jsx Investigation Centre · OfficialDashboard.jsx Command Centre · main.py Backend API
Components 23
Access and Navigation
- App Router
src/App.jsx - Authentication
src/contexts/AuthContext.jsx - Login
src/pages/LoginPage.jsx - Citizen Portal
src/pages/citizen/CitizenDashboard.jsx - Project Explorer
src/pages/citizen/ProjectExplorer.jsx
Risk Intelligence
- Command Centre
src/pages/official/OfficialDashboard.jsx - Risk Profile
src/pages/official/RiskProfile.jsx - Risk Analysis Engine
src/data/aiEngine.js - Bottleneck Analysis
src/pages/official/PredictiveBottleneck.jsx - Backend Scoring
backend/services/scoring.py - Gemini Service
backend/services/gemini_service.py
Investigation Workflow
- Case Workflow State
src/contexts/CaseContext.jsx - Investigation Centre
src/pages/official/InvestigationCentre.jsx - Case Assignment
src/components/investigation/InvestigationAssignmentModal.jsx - Field Verification
src/components/investigation/GroundVerificationCapture.jsx - Financial Verification
src/pages/official/FinancialVerification.jsx - Duplicate Verification
src/pages/official/DuplicateVerification.jsx
Project Data Services
- Prototype Records
src/data/mockData.js - API Client
src/api/client.js - Backend API
backend/main.py - Project Database
backend/database.py
Other components
- Officials
- Citizens
Connections 25
- Officials → App Router: opens
README.md - Citizens → App Router: opens
README.md - App Router → Login: routes to
src/App.jsx - App Router → Command Centre: routes to
src/App.jsx - App Router → Citizen Portal: routes to
src/App.jsx - App Router → Investigation Centre: routes to
src/App.jsx - Login → Authentication: authenticates with
src/pages/LoginPage.jsx - Command Centre → Risk Profile: opens
README.md - Risk Profile → Risk Analysis Engine: uses analysis
src/pages/official/RiskProfile.jsx - Risk Analysis Engine → Prototype Records: reads records
src/data/aiEngine.js - Command Centre → Case Workflow State: manages cases
src/pages/official/OfficialDashboard.jsx - Case Workflow State → Investigation Centre: provides case state
src/contexts/CaseContext.jsx - Investigation Centre → Case Assignment: renders
src/pages/official/InvestigationCentre.jsx - Investigation Centre → Field Verification: supports field checks
README.md - Investigation Centre → Financial Verification: supports assessment
README.md - Investigation Centre → Duplicate Verification: supports evidence review
src/pages/official/InvestigationCentre.jsx - Command Centre → Bottleneck Analysis: offers analysis
- Citizen Portal → Project Explorer: explores projects
README.md - Citizen Portal → API Client: fetches projects
src/pages/citizen/CitizenDashboard.jsx - Case Workflow State → API Client: syncs decisions
src/contexts/CaseContext.jsx - API Client → Backend API: requests data
src/api/client.js - Backend API → Project Database: reads and writes
backend/main.py - Backend API → Backend Scoring: uses scoring
backend/main.py - Backend API → Gemini Service: optional AI service
backend/main.py - API Client → Prototype Records: fallback records
src/api/client.js