Logo Lanfrica

kingzion24/uko-wapi-hasa

Domain:

geospatial

Record type:

dataset
Creator:
kin
Host:
List of Tanzania Regions to street/vilage level # Uko Wapi? — Tanzania location finder The app serves Tanzania's current administrative division, from the **2022 Population and Housing Census**: **31 regions → 195 councils → 4,344 wards/shehia**, every one with an official boundary and code. `data.json`, this repo's original contents, is an older list down to village level (**30 regions → 169 districts → 3,641 wards → 16,408 villages/mitaa**). It no longer defines the hierarchy — it only supplies the village/mtaa lists, which NBS does not publish at this level. `web/` is a small static site built on top of it. You tap one button, it reads your GPS, and it tells you which region, district and ward you are in, then names the closest village/mtaa for you to confirm. The point is to stop people typing the wrong thing into forms. No login, no backend, no accounts. Nothing is stored and your coordinates are never transmitted anywhere. One caveat, stated on the page too: fetching map tiles tells OpenStreetMap roughly where you are, as on any site with a map. Live at **ukowapi.site** ## Run it ```bash cd web && python3 -m http.server 8777 # open localhost ``` Geolocation needs `localhost` or HTTPS — it will **not** work over plain `http://` on a LAN address, so testing from a phone means deploying first. ## Deployment Pushing to `master` publishes the site: `.github/workflows/deploy.yml` runs the test suite, then uploads `web/` to GitHub Pages. Nothing is rebuilt in CI — `web/data/` is committed, and the workflow only verifies that what is committed is self-consistent. The heavy rebuild (NBS shapefile + Overpass downloads) is a local task; see Rebuilding the data. Custom domain: `web/CNAME` holds `ukowapi.site`. It must live in `web/`, since that directory is what gets uploaded as the Pages artifact — a CNAME at the repo root would never be published. Pages must be set to **Settings → Pages → Source: GitHub Actions**; the "deploy from a branch" option cannot work here, because it only offe …

Languages