Logo Lanfrica

GeorMurk/HSP-dashboard

Domain:

peace and securitygeospatial

Record type:

software
Creator:
Geo
Host:
Sudan and Neighbouring Countries HSPs # HSP Dashboard — Sudan Crisis Operations Interactive map dashboard of Humanitarian Service Points (HSPs) along the mixed migration routes of the Sudan crisis (Sudan, Ethiopia, South Sudan and neighbouring operational countries). IFRC / DRC partnership. Built as a fully static site (MapLibre GL + vanilla JS) so it can be published free on **GitHub Pages**. All dashboard content — HSP records, filters, stats, map boundary layers — is generated from the source files in `source/`, so updating the dashboard is just *replace file → push*. ## How it works ``` source/HSP_Structured_Directory.xlsx ──┐ source/shapefiles/*.shp ──┤── scripts/build_*.py ──> data/*.json source/remote-cache/ (geoBoundaries) ──┘ │ ▼ index.html + css/ + js/app.js ── fetches ──────────────────> rendered dashboard ``` | Path | Role | |---|---| | `source/HSP_Structured_Directory.xlsx` | **The editable HSP directory.** The build reads the master `HSP Directory` sheet. | | `source/shapefiles/` | Geometry-only admin boundary shapefiles (`{iso}_admin{level}.shp`). | | `source/remote-cache/` | Cached geoBoundaries downloads (named regions + LBY/CAF outlines). Committed so builds don't depend on the remote. | | `scripts/build_hsps.py` | Excel → `data/hsps.json` + `data/metadata.json` | | `scripts/build_boundaries.py` | Shapefiles → `data/boundaries/*.geojson` (simplified for the web) | | `data/` | Generated output the dashboard fetches at runtime. Don't edit by hand. | | `.github/workflows/deploy.yml` | Rebuilds `data/` and deploys to GitHub Pages on every push to `main`. | ## Updating the dashboard 1. **HSP data changed?** Replace `source/HSP_Structured_Directory.xlsx` with the new version (keep the `HSP Directory` sheet name and column headers — column *order* can change freely; new Yes/No service columns are picked up automatically, as are new countries, which get their own colour and filter button). 2. **Boundaries changed?** Drop the updated `.shp` …