How soham-lodh/weather-analytics works
Aapda Drishti is a disaster-intelligence platform for India. People use the web app to inspect verified current alerts and nearby risks, research historical events, search across evidence, and submit incident reports; administrators also manage platform operations. The backend combines external and citizen evidence, maintains canonical events, supports lexical and semantic retrieval, and dispatches location-aware notifications. The README documents major capabilities whose individual handlers were not sampled; those links are attributed to the README rather than inferred from module names.
Main entry points: supabase.ts Supabase data · api.ts API client · App.tsx Application shell · routes.ts API routes
Components 24
Web experience
- Application shell
frontend/src/App.tsx - Present workspace
frontend/src/components/present/PresentWorkspace.tsx - Past workspace
frontend/src/components/past/PastWorkspace.tsx - Incident reporting
frontend/src/components/reports/ReportIncidentPage.tsx - Admin console
frontend/src/components/admin/AdminPage.tsx
API and identity
- API client
frontend/src/lib/api.ts - Authentication
frontend/src/lib/AuthContext.tsx - API routes
backend/server/routes.ts
Evidence processing
- Canonical events
backend/server/repositories/canonicalEvents.ts - Ingestion job
backend/server/jobs/ingestionJob.ts - Source adapters
backend/server/ingestion/sourceAdapters.ts - Observation normalization
backend/server/jobs/normalizationEngine.ts - Source registry
backend/server/lib/sourceRegistry.ts - Report verification
backend/server/jobs/citizenVerificationJob.ts
Search and research
- Research orchestrator
backend/server/lib/researchOrchestrator.ts - Search retrieval
backend/server/lib/searchRetrieval.ts - AI gateway
backend/server/aiGateway.ts
Jobs and alerts
- Job scheduler
backend/server/jobs/scheduler.ts - Notification job
backend/server/jobs/notificationJob.ts - Delivery providers
backend/server/providers/notifications.ts
Other components
- People
- Supabase data
backend/server/db/supabase.ts - Evidence providers
- Alert recipients
Connections 33
- People → Application shell: uses
frontend/src/App.tsx - Application shell → Present workspace: shows
frontend/src/App.tsx - Application shell → Past workspace: shows
frontend/src/App.tsx - Application shell → Incident reporting: shows
frontend/src/App.tsx - Application shell → Admin console: shows
frontend/src/App.tsx - Present workspace → API client: requests data
README.md - Past workspace → API client: requests research
README.md - Incident reporting → API client: submits reports
README.md - Admin console → API client: calls API
frontend/src/components/admin/AdminPage.tsx - API client → API routes: calls
README.md - Authentication → API client: uses
frontend/src/lib/AuthContext.tsx - API routes → Canonical events: lists events
backend/server/routes.ts - API routes → Research orchestrator: delegates research
backend/server/routes.ts - API routes → AI gateway: calls AI
backend/server/routes.ts - API routes → Supabase data: reads and writes
backend/server/routes.ts - Ingestion job → Source adapters: fetches observations
backend/server/jobs/ingestionJob.ts - Ingestion job → Observation normalization: normalizes
backend/server/jobs/normalizationEngine.ts - Ingestion job → Source registry: resolves sources
backend/server/jobs/ingestionJob.ts - Ingestion job → Canonical events: updates events
README.md - Source adapters → Evidence providers: fetches evidence
README.md - Source registry → Supabase data: resolves IDs
backend/server/lib/sourceRegistry.ts - Canonical events → Supabase data: persists events
backend/server/repositories/canonicalEvents.ts - Report verification → Supabase data: updates verification
README.md - Research orchestrator → Search retrieval: searches evidence
backend/server/lib/researchOrchestrator.ts - Research orchestrator → Evidence providers: researches externally
README.md - Research orchestrator → Supabase data: persists findings
backend/server/lib/researchOrchestrator.ts - Search retrieval → Supabase data: queries and embeds
backend/server/lib/searchRetrieval.ts - Job scheduler → Ingestion job: runs
backend/server/jobs/scheduler.ts - Job scheduler → Notification job: runs
backend/server/jobs/scheduler.ts - Job scheduler → Supabase data: records job runs
backend/server/jobs/scheduler.ts - Notification job → Delivery providers: dispatches
README.md - Notification job → Supabase data: tracks delivery
README.md - Delivery providers → Alert recipients: delivers alerts
README.md