A digital shield to prevent parental burnout and protect vulnerable young families in Cameroon.
# YouthParent+
**A digital shield to prevent parental burnout and protect vulnerable
young families in Cameroon.**
UNICEF Cameroon Digital Innovation Competition submission — Togettech team.
Stack: **Nuxt 3 + Tailwind** (frontend, installable offline-first PWA) ·
**FastAPI** (backend) · **Supabase** (Postgres + PostGIS + Auth).
## The three pillars, and where they live
| Pillar | Frontend | Backend | Data |
|---|---|---|---|
| 🤲 De-escalation Button | `frontend/pages/emergency.vue` | `backend/app/routers/emergency.py` | `emergency_events`, `handoff_requests` |
| 🧸 Offline Pocket Mentor | `frontend/pages/mentor.vue` | `backend/app/routers/mentor.py` | `milestone_cards`, `children`, `mentor_progress` |
| 📍 Community Safe Hub | `frontend/pages/safehub.vue` | `backend/app/routers/safehub.py` | `safehub_resources` (PostGIS) |
| Anonymized M&E metrics | — | `backend/app/routers/metrics.py` | `metrics_weekly` view |
## Repo structure & deployment branches
This is a monorepo — `main` holds everything (docs, database, both apps)
and is the source of truth you keep working on. Two generated branches
carry only what each host needs:
- **`frontend-deploy`** — just `/frontend`'s contents, at branch root. Vercel's
Production Branch points here.
- **`backend-deploy`** — just `/backend`'s contents, at branch root (so
`Procfile` is where Heroku expects it). Heroku's GitHub auto-deploy
points here.
After committing changes to `main` as normal, run:
```bash
./scripts/deploy-split.sh
```
This regenerates both branches from whatever's currently on `main` and
force-pushes them, which triggers a Vercel and/or Heroku redeploy
automatically. You never push to `frontend-deploy` or `backend-deploy`
by hand — the script owns them.
First-time setup for each platform is in `frontend/README.md` and
`backend/README.md`.
1. **Supabase**: create a free project at supabase.com. In the SQL
editor, run `database/schema.sql` then `database/seed.sql`. Copy
your project URL, anon key, servic …