Logo Lanfrica

mosesdex/nigeria-security-app

Domaine:

peace and security

Type de record:

software
Créateur:
mos
Hôte:
Nigeria Security — the app: live open-data dashboard, community incident reporting, offline mobile PWA, and backend. Built on ACLED/GDELT. # Nigeria Security — the app The product: a live web app that turns open conflict data into usable safety information for Nigeria. Dashboard, community incident reporting, an offline mobile app, and the backend that powers them — one Express server. > This repo is **the app only**. The research report, source catalog, and pitch/methodology ("the startup document") live in a separate project. ## Run ```bash npm install npm start # → localhost ``` | Route | What | |-------|------| | `/` | **Dashboard** — state/LGA choropleth, zone & hotspot rankings, national trend, live news signal | | `/community/` | **Report** — submit an incident, moderated public feed (live) | | `/mobile-pwa/` | **Mobile** — installable, offline-first PWA | | `/data-status/` | **Data status** — live source health + provenance of every number | | `/api/reports`, `/api/moderation/*`, `/api/stats` | Reporting API (Phase 4) | | `/sms-api/ussd`, `/sms-api/sms` | SMS/USSD service (Phase 3, mock mode) | | `/api/data/*`, `/api/status` | Read-only data + status | ## Test ```bash npm test # node --test — 29 tests (server, data API, full report # lifecycle, the ethnicity-rejection safety rule, SMS + USSD) ``` ## Structure ``` server.js Express: serves the frontend + mounts the APIs index.html the dashboard (app home) community/ reporting UI mobile-pwa/ offline PWA data-status/ live source-health + provenance page reporting-api/ Phase 4 backend (safety-by-design validation) sms-service/ Phase 3 backend data-pipeline/ open-data ingestion (ACLED/GDELT connectors + health probe) data/ processed data the app serves shared/schema.js canonical schema + safety-enforcing validation ``` ## Data & safety Built entirely on **open sources** — ACLED (via the UN Humanitarian Data Exchange), GDELT, geoBoundaries — with no access controls bypassed. All counts are of *reported* events and are lower bounds. Safety rule …

Languages