How rehankwatla/solargrid-frontend works
SolarGrid is an operational dashboard for coordinating energy across solar, batteries, grid supply, and critical hospital loads. Users enter through the routed dashboard, inspect live energy and facility conditions, then use dedicated views for forecasts, alerts, load priorities, energy sharing, and metering. The documented data path uses Supabase queries and Realtime; the repository also contains an Express API backed by in-memory storage. The graph preserves both, but sampled evidence does not establish that the dashboard’s live data path calls that API.
Main entry points: App.tsx Routed Dashboard · DashboardDataContext.tsx Dashboard Data · DepartmentsRooms.tsx Departments and Rooms · useSupabaseData.ts Live Data Hooks
Components 20
Application Shell
- Routed Dashboard
client/src/App.tsx - Facility Settings
client/src/pages/Settings.tsx
Energy Operations
- Energy Analytics
client/src/pages/Energy.tsx - Energy Overview
client/src/pages/Overview.tsx - Solar Tracking
client/src/contexts/SolarTrackingContext.tsx - Panel Simulation
client/src/lib/solarSimulation.ts - Energy Sharing
client/src/pages/EnergySharing.tsx - Metering and Settlement
client/src/pages/Feature1.tsx
Hospital Operations
- Critical Loads
client/src/pages/CriticalLoads.tsx - Departments and Rooms
client/src/pages/DepartmentsRooms.tsx - Hospital Facility Data
client/src/data/hospitalData.ts
Intelligence and Events
- Forecast and Dispatch
client/src/pages/Intelligence.tsx - Alerts
client/src/pages/Alerts.tsx
Data Services
- Dashboard Data
client/src/contexts/DashboardDataContext.tsx - Live Data Hooks
client/src/hooks/useSupabaseData.ts - Supabase Data
- API Routes
server/routes.ts - In-Memory Storage
server/storage.ts - Query and Mutation API
client/src/services/api.ts
Other components
- Operator
Connections 17
- Operator → Routed Dashboard: uses
- Routed Dashboard → Energy Overview: routes to
client/src/App.tsx - Routed Dashboard → Energy Analytics: routes to
client/src/App.tsx - Routed Dashboard → Critical Loads: routes to
client/src/App.tsx - Routed Dashboard → Departments and Rooms: routes to
client/src/App.tsx - Routed Dashboard → Energy Sharing: routes to
client/src/App.tsx - Routed Dashboard → Forecast and Dispatch: routes to
client/src/App.tsx - Routed Dashboard → Alerts: routes to
client/src/App.tsx - Routed Dashboard → Metering and Settlement: routes to
client/src/App.tsx - Routed Dashboard → Facility Settings: routes to
client/src/App.tsx - Routed Dashboard → Dashboard Data: provides
client/src/App.tsx - Dashboard Data → Live Data Hooks: queries
client/src/contexts/DashboardDataContext.tsx - Live Data Hooks → Supabase Data: fetches and subscribes
- Dashboard Data → Query and Mutation API: calls mutations
client/src/contexts/DashboardDataContext.tsx - Solar Tracking → Panel Simulation: derives state
client/src/contexts/SolarTrackingContext.tsx - Departments and Rooms → Hospital Facility Data: uses facility data
client/src/data/hospitalData.ts - API Routes → In-Memory Storage: calls storage
server/routes.ts