Logo Lanfrica

Geoinfotech-Web/nigeria-flood-webapp

Domaine:

climateenvironment and energy

Type de record:

software
Créateur:
Geo
Hôte:
# Flood Watch (Nigeria Flood Dashboard) Local development stack and pointers for the live GCP deployment. ## Prerequisites ```bash # Copy the env template and fill in secrets (DB, JWT, GEE, optional SMS) cp .env.example .env # For Google Earth Engine layers, use project **ggis-flood-watch**: # enable Earth Engine API → create SA + JSON key → register SA in EE → # GEE_SERVICE_ACCOUNT_EMAIL=your-sa@ggis-flood-watch.iam.gserviceaccount.com # GEE_SERVICE_ACCOUNT_KEY=./ggis-flood-watch-gee.json # # Optional place **text search**: create a Maps key on ggis-flood-watch with # Places API (legacy Text Search) only, then set GOOGLE_MAPS_API_KEY. # Nearby settlements always use OSM / Nominatim. Google basemaps are not used. # When the key is unset, search falls back to Nominatim. ``` > **Note for fresh clones:** `.env` and the GEE `*.json` key files are > gitignored, so they are **not** in the repo — copy them over manually. > Everything else (all 26 gauge + 29 met station definitions, exposure > layers, and code) comes with the clone. ## Quick Start (local) ```bash # 1. Start all services # On first run, TimescaleDB auto-seeds the full station network via # infra/timescaledb/init.sql: 26 gauge stations + 29 met stations # across all major Nigerian river basins. docker-compose up -d # 2. Wait ~60 s for TimescaleDB to init, then backfill 90 days of history docker-compose run --rm ingest python backfill.py # 3. Start the Flink feature engineering job (standalone mode for local dev) docker-compose exec flink-jobmanager python /opt/flink/jobs/flood_features.py --standalone & # 4. Train ML models (needs ~500+ feature rows — takes 2-3 min) docker-compose run --rm bentoml python train.py # 5. Open the dashboard open localhost ``` ## Live GCP deployment (temporary URLs) Production project **`ggis-flood-watch`** (`europe-west1`) is live. | Surface | URL | |---|---| | Frontend (Firebase) | ggis-flood-watch.web.app | | Custom frontend (pen …