System Status Dashboard
The PLANOVI System Status board (status.php) provides live operational transparency regarding the availability of all core platform modules, distributed telemetry gateways, and planned maintenance intervals.
1. Overview & Data Source
The status page is accessible publicly at https://planovi.app/status.php (or localized link from the footer). It dynamically pulls module health directly from the production Supabase database:
flowchart LR
Client["Browser (:status.php)"] --> Query["Supabase REST API"]
Query --> Table1["app_modules (Modules & Operational State)"]
Query --> Table2["app_modules_maintenance (Scheduled Windows)"]
Table1 & Table2 --> Compute["Compute Overall Health & Badges"]
Compute --> Render["Render Glassmorphism Status Grid"]
2. API Endpoint & Query
status.php executes a joined HTTP GET request via cURL:
$endpoint = $supabaseUrl . '/rest/v1/app_modules?select=*,app_modules_maintenance(*)';
$ch = curl_init($endpoint);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'apikey: ' . $supabaseKey, 'Authorization: Bearer ' . $supabaseKey]);curl_setopt($ch, CURLOPT_TIMEOUT, 10);$response = curl_exec($ch);$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);curl_close($ch);3. Monitored Platform Modules
The status dashboard tracks the health of all four primary subsystems in the Planovi ecosystem:
| Internal Module Code | Display Name | Subsystem / Function |
|---|---|---|
DASHBOARD | Panel Zarządcy (Dashboard) | Flutter Web SPA for cooperative managers (panel.planovi.app) |
AI_AGENT | Agent Optymalizacyjny AI | Deno Edge Functions running autonomous dispatch and battery balancing |
MODBUS_GATEWAY | API Integracyjne Modbus/IP | Inverter telemetry telemetry ingestion endpoint (telemetry.planovi.app) |
DATABASE_EDGE | Baza Danych i Edge Functions | Self-hosted Supabase PostgreSQL 15 & Kong API gateway |
4. Operational Status States & Badges
Each module evaluates to one of the following states:
- Operational (Wszystkie systemy działają):
- Green pulsing status indicator (
#10b981). - Normal latency and 100% telemetry flow.
- Green pulsing status indicator (
- Under Maintenance (Prace konserwacyjne):
- Amber status badge (
#f59e0b). - Active maintenance entry detected in
app_modules_maintenancewhere the current UTC time falls withinstart_timeandend_time.
- Amber status badge (
- Degraded / Outage (Zakłócenia działania):
- Crimson status indicator (
#ef4444). - Operational incident logged or API endpoint unreachable.
- Crimson status indicator (
5. Offline Fallback Resilience
If Supabase is temporarily unreachable (e.g., during network reconfigurations or cold restarts), status.php gracefully fails over to built-in fallback definitions rather than displaying a broken white screen:
if (empty($modules) && !$fetchError) { $modules = [ [ 'id' => '1', 'display_name' => 'Panel Zarządcy (Dashboard)', 'module_name' => 'Dashboard', 'internal_module_code' => 'DASHBOARD', 'app_modules_maintenance' => [] ], // ... additional module stubs ];}This guarantees an uninterrupted user experience even during edge outages.