Skip to content

Latest commit

 

History

43 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chesapeake Operations Dashboard 5.0.1

A PHP 8.4, MariaDB, Leaflet and Chart.js common operating picture for Maryland emergency operations.

Current release: 5.0.1

Included capabilities

  • Full-screen Maryland map with ZIP-code outage choropleth.
  • Floating and collapsible operational panels.
  • METAR airport markers with flight-category status.
  • FAA advisories and PurpleAir AQI overlays.
  • Current and historical ZIP-code outage playback.
  • Optional municipal-boundary overlay for Pennsylvania, Virginia, West Virginia, and Delaware.
  • Data-sources dialog with provider attribution and a non-endorsement notice.
  • Dynamic legends and rich map popups.
  • Correlated power, weather, aviation and air-quality summaries.
  • Responsive light and dark themes.
  • GitLab CI/CD automatic production deployment.

Requirements

  • PHP 8.4 with PDO MySQL.
  • MariaDB or MySQL containing the dashboard tables.
  • Apache behind nginx, or another PHP-capable web server.
  • Browser access to the Leaflet and Chart.js CDN resources used by the dashboard.

Installation

cp config.example.php config.php
nano config.php

Set the database connection values in config.php, then ensure the web server can read the project files.

The production target documented for this repository is:

Host: dashboard.dataguy2020.com
Path: /var/www/html/dashboard
Web stack: nginx -> Apache

Health check

curl -fsS https://dashboard.dataguy2020.com/api/health.php

Schema-only database export

Export the configured database definition without any table rows:

tools/export_schema.sh

The script reads the existing config.php, writes a timestamped SQL file under exports/, and includes tables, views, triggers, procedures, functions, and events. It uses a temporary credentials file with mode 0600, so the database password is not exposed through the process list. The MySQL/MariaDB client package (mysqldump) and PHP CLI must be installed.

Specify a destination when needed:

tools/export_schema.sh --output /srv/backups/dashboard-schema.sql

Restore into a database server with:

mysql -u YOUR_USER -p < exports/schema-YYYYmmdd-HHMMSS.sql

GitLab repository

https://gitlab.com/mikes-development/eoc-dashboard

See docs/DEPLOYMENT.md for the CI/CD variables and server setup.

Maryland NWPS River Gauges

Version 4.3.1 reads md_nwps_gauges and md_nwps_stageflow_current through api/rivers.php. The dashboard includes a river-gauge KPI, map layer, and Rivers intelligence tab.

Statewide outage history

Click the Customers Out KPI to open statewide ZIP outage history. Choose 24 hours, 7 days, 30 days, 90 days, 6 months, 1 year, 3 years, or all available data. The graph shows customers without power and the statewide outage percentage.

The ZIP layer supports history playback, search, sorting, and direct map or table selection. County data remains available as a secondary view; when ZIP allocations overlap, the latest county snapshot supplies the live statewide total.

Operational impact statements

The incident summary combines power, weather, and aviation conditions into an operational-impact score. The displayed statements mean:

  • NORMAL OPERATIONS (score 0–1): No monitored condition currently meets an elevated threshold.
  • ELEVATED OPERATIONS (score 2–5): One or more monitored conditions require increased awareness.
  • HIGH OPERATIONAL IMPACT (score 6–9): Multiple or significant operational impacts are active.
  • EMERGENCY OPERATIONS (score 10 or greater): A critical or widespread condition requires immediate operational attention. This statement is also triggered at any score by at least 100,000 customers without power statewide or by one or more extreme weather alerts.

The score is calculated from the following active conditions:

  • Statewide customers without power: 1,000 or more adds 2 points; 5,000 or more adds 3; 25,000 or more adds 5; and 100,000 or more adds 8 and triggers EMERGENCY OPERATIONS. When fewer than 1,000 customers are out, a statewide outage rate of at least 0.5% adds 1 point.
  • Counties with an outage rate of at least 1%: 1 point per county, up to 2 points.
  • Weather: active warnings add 2 points, severe alerts add 3, or extreme alerts add 6 and trigger EMERGENCY OPERATIONS. Only the highest applicable weather category is scored.
  • FAA advisories: 1 point per active advisory, up to 3 points.
  • Airport conditions: two or more airports reporting IFR or LIFR add 2 points; otherwise, three or more airports below VFR add 1 point.

During the initial feed load, the summary displays ASSESSING.... If a required assessment feed fails, it displays DATA INCOMPLETE instead of declaring an operational state because an all-clear cannot be determined.

Version 5.0.1 power operations and map basemaps

Power operations use the current and historical ZIP outage tables joined to ZIP boundary geometry. County outages remain available as a secondary layer and provide the authoritative live statewide total when ZIP allocations overlap.

The primary operational map opens with OpenStreetMap Streets and supports Esri Satellite, OpenTopoMap, or no basemap. It also offers municipal boundaries for Pennsylvania, Virginia, West Virginia, and Delaware. Public tile services require internet access and their required attribution must remain visible.

Use Data Sources in the dashboard header to review operational-feed and map-service attribution. Source data can be delayed by its publisher and polling interval.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages