Tax Trail — educational tax journey game (Zambia)
# Tax Trail — Journey Across Zambia
A **ZRA civic education game**: travel from Livingstone → Kafue → Lusaka as one of five roles and learn how tax choices shape both your livelihood and public services.
## Roles & real Zambian tax themes
| Role | Sector | Tax themes in the scenarios |
|------|--------|------------------------------|
| **Farmer** | Agriculture | TPIN, FISP, 10% farming/agro-processing CIT, FRA sales, PAYE for farm labour, export clearance |
| **Worker** | Professions | PAYE bands, NAPSA (5%+5%), NHIMA, payslips, overtime, pension claims |
| **Developer** | Professions | Business TPIN, VAT 16% / input claims, Smart Invoice, WHT on consultancy, tax clearance for tenders |
| **Doctor** | Health | Medical import relief, HPCZ + tax clearance, NHIMA provider billing, clinic payroll & SDL |
| **Pharmacist** | Health | Authorised suppliers, VAT exempt vs standard-rated goods, VAT registration threshold, LTO, public tenders |
## How branching works
- Each city has **root scenarios** plus **branch-only** follow-ups (`branchOnly: true`).
- Choices can set **path flags** (`flag` / `flags` / `badge`) that unlock or lock later events and options (`requireFlag` / `excludeFlag`).
- Example: registering for a TPIN in Livingstone unlocks FISP in Kafue; staying informal locks you out.
- National **fund %** rises or falls with compliance — roads, hospitals, schools and water on the map react in real time.
## Run locally
1. Place the project under XAMPP: `C:\xampp\htdocs\tax-trail`
2. Import `tax-trail1.sql` into MySQL (optional — for login/leaderboard)
3. Open `
localhost`
4. Or open `index.html` directly for guest play without saving
## Project files
| File | Purpose |
|------|---------|
| `events.js` | Cities, scenarios, branching trees, ZRA facts |
| `game.js` | Roles, HUD, event engine, flags, screens |
| `world.js` / `map.js` | Visual world & travel map |
| `api.php` / `db.js` | Login, save state, leaderboard |
| `style.css` / `index.html …