NHBRC Trainer — installable PWA teaching SANS 10400 / South African National Building Regulations
# NHBRC Trainer — installable mobile web app
A Progressive Web App (PWA) that teaches **NHBRC** and **SANS 10400** — South African National Building Regulations — distilled from the official PDF at `
sans10400.co.za`.
- 17 lesson modules (Parts A–W of SANS 10400, plus NHBRC role, build workflow, warranty)
- 56 quiz questions with explanations
- 26-term glossary with search
- Progress tracking, fully offline once installed
- Installable to phone home screen — no app store
The whole app is the contents of the **`docs/`** folder. There is no build step. The repo also includes:
- `tools/` — Python scripts used to extract content from the source PDF and generate the icons
- `.gitignore` excludes the 18 MB source PDF and its derived JSON
---
## 1 · Run it locally
```bash
cd nhbrc-app/docs
python -m http.server 8090
# then open
localhost in Chrome on your laptop
```
To preview installation on your phone while your laptop is on the same Wi-Fi:
1. Find your laptop's LAN IP (`ipconfig` on Windows, look for IPv4).
2. On your phone visit `http:// :8090` in Chrome.
3. Chrome menu → **Install app** (Android) or Safari Share → **Add to Home Screen** (iOS).
Note: iOS Safari requires HTTPS for full PWA features (Service Worker, install banner). Local HTTP works for "Add to Home Screen" but offline caching may not. Once you deploy to a real HTTPS host (steps below), iOS works fully.
---
## 2 · Deploy from the web (so you can install it on your phone)
Pick **one** of these. All of them are free for a tiny site like this.
### Option A · Netlify drag-and-drop (easiest — 30 seconds)
1. Go to
app.netlify.com
2. Drag the **`docs/`** folder onto the page.
3. Netlify gives you a URL like `
thing-1234.netlify.app`. That URL is HTTPS and ready.
4. On your phone, open that URL in **Chrome (Android)** or **Safari (iOS)**:
- **Android Chrome**: tap the ⋮ menu → **Install app** (or **Add to Home screen**). The …