Logo Lanfrica

mcmurraycal-sketch/Amanz-Alert

Domain:

digital infrastructure

Record type:

software
Creator:
mcm
Host:
Live crowd-sourced water outage map for South Africa. # Amanz' Alert Live, crowd-sourced water outage map for South Africa. Pilot region: Eastern Cape. > *Amanzi* — water (isiXhosa / isiZulu). This is the MVP. PWA built with Next.js, Supabase, and MapLibre. Designed to be installed on a phone, share-able via a WhatsApp link, and work on a low-data connection. --- ## What's in here ``` amanzi-alert/ ├── app/ # Next.js App Router pages │ ├── page.tsx # Home — the live map │ ├── report/ # Report-an-outage flow │ └── about/ # What this is, why it exists ├── components/ # Map, ReportForm, Header, InstallPrompt ├── lib/ # Supabase clients, types, geolocation helper ├── public/ # PWA manifest, service worker, icons └── supabase/ └── migrations/ # Database schema (run in Supabase SQL editor) ``` --- ## First-time setup You only do these steps once. ### 1. Install Node.js You don't have Node installed yet. Get the LTS version: 1. Go to nodejs.org 2. Download the macOS Installer (LTS, currently 22.x) 3. Run the `.pkg` file — accept the defaults 4. Open a **new** Terminal window (important — old ones don't see new PATH) 5. Verify: ```bash node --version npm --version ``` Both should print version numbers. ### 2. Install project dependencies ```bash cd ~/Desktop/amanzi-alert npm install ``` This downloads Next.js, Supabase client, MapLibre, etc. into `node_modules/`. Takes ~1–2 minutes. ### 3. Create a Supabase project (free tier) 1. Go to supabase.com → Sign up (GitHub login is fastest). 2. New Project → name it `amanzi-alert` → pick the closest region (Europe/UK is closest to SA). 3. Set a database password and save it somewhere safe. 4. Wait ~1 minute for provisioning. ### 4. Apply the database schema 1. In your Supabase project, go to **SQL Editor** → **New query**. 2. Copy the contents of `supabase/migrations/0001_init.sql` from this repo. 3. Paste and click **Run**. 4. Open a **new query**, paste the conten …