How harshvardhan226510/sih-2026-project works
WeatherGPT is a weather information and decision-support application. Its central workflow ingests official weather alerts, normalizes and stores them, then serves them to an offline-capable dashboard that synchronizes local data. It also provides meteorological research analytics and aviation/marine views, with a separate farmer dashboard for forecasts and crop advice. The alert and research paths are supported by README documentation and sampled code; unsampled feature wiring is kept broad, and the farmer dashboard is shown as a separate API-backed workflow.
Main entry points: ingestion.js Alert Ingestion · alertController.js Alert Handlers · App.jsx React App · server.js Farmer API
Components 29
Application
- React App
src/App.jsx
Weather Alerts
- Alert Dashboard
src/features/alerts/AlertDashboard.jsx - Alert API
src/features/alerts/services/alertApi.js - Offline Sync
src/features/alerts/services/syncService.js - IndexedDB Copy
src/features/alerts/services/alertDb.js - Alert Server
src/features/alerts/server/app.js - Alert Handlers
src/features/alerts/server/controllers/alertController.js - Ingestion Scheduler
src/features/alerts/server/jobs/scheduler.js - Alert Ingestion
src/features/alerts/server/services/ingestion.js - Normalize And Process
src/features/alerts/server/services/normalization.js - Alert Repository
src/features/alerts/server/repositories/alertRepository.js - Alert Database
src/features/alerts/server/db/connection.js - Push Delivery
src/features/alerts/server/services/webPush.js
Research Analytics
- Research Dashboard
src/features/research-analytics/ResearchDashboard.tsx - Research Query API
src/features/research-analytics/server/routes/researchQuery.js - Query Orchestrator
src/features/research-analytics/server/services/researchQueryService.js - Analytics Services
src/features/research-analytics/server/services/historicalService.js - Weather Adapter
src/features/research-analytics/server/adapters/openMeteoAdapter.js
Farmer Dashboard
- Farmer Dashboard
farmer-dashboard/src/main.jsx - Farmer API
farmer-dashboard/server/src/server.js - Weather Service
farmer-dashboard/server/src/weatherService.js - Crop Advisory
farmer-dashboard/server/src/advisoryRules.js - Farm Repository
farmer-dashboard/server/src/farmerRepository.js
Specialized Weather
- Aviation And Marine
src/features/aviation-marine/server/routes/index.js - Weather Chatbot
src/features/chatbot/Module1View.jsx - Chat Handler
supabase/functions/chat-handler/index.ts
Other components
- Weather User
- IMD CAP Feed
- Open-Meteo
Connections 32
- Weather User → React App: opens
- React App → Alert Dashboard: shows alerts
- Alert Dashboard → Alert API: requests alerts
- Alert API → Alert Server: calls API
- Alert Server → Alert Handlers: dispatches
- Alert Handlers → Alert Repository: reads alerts
- Alert Handlers → Offline Sync: requests sync data
- Offline Sync → IndexedDB Copy: updates copy
- Alert Dashboard → IndexedDB Copy: loads cached data
- Ingestion Scheduler → Alert Ingestion: starts ingestion
- Alert Handlers → Alert Ingestion: triggers ingestion
- Alert Ingestion → IMD CAP Feed: fetches CAP
- Alert Ingestion → Normalize And Process: normalizes and processes
- Alert Ingestion → Alert Repository: persists changes
- Alert Repository → Alert Database: reads and writes
- Alert Ingestion → Push Delivery: delivers alerts
- Alert Handlers → Push Delivery: serves push status
- Weather User → Research Dashboard: asks research question
- Research Dashboard → Research Query API: submits query
- Research Query API → Query Orchestrator: processes query
- Query Orchestrator → Analytics Services: runs analytics
- Analytics Services → Weather Adapter: requests weather data
- Weather Adapter → Open-Meteo: fetches data
- React App → Aviation And Marine: offers weather views
- Weather User → Farmer Dashboard: uses farm advice
- Farmer Dashboard → Farmer API: requests forecast
- Farmer API → Weather Service: fetches weather
- Weather Service → Open-Meteo: fetches forecast
- Farmer API → Crop Advisory: generates advice
- Farmer API → Farm Repository: loads crops
- React App → Weather Chatbot: offers chat
- Weather Chatbot → Chat Handler: sends questions