Logo Lanfrica

ORANKIIEY/watch-amoo

Domaine:

natural language processing

Type de record:

softwaretools
Créateur:
ORA
Hôte:
Helping parents and caregivers find entertaining nursery rhyme videos in South African indigenous languages all in one place, instead of scattered across platforms. # watchamoo Kids entertainment in **Sepedi**, **Sesotho**, and **Setswana**, plus an AI Discovery Assistant. ``` watch-amoo/ ├── frontend/ # Next.js UI (port 3000) — rewrites /api/* → backend └── backend/ # Express API + SQLite (port 4000) ``` ## Setup ```bash npm install cp backend/.env.example backend/.env # Edit backend/.env: # DATABASE_URL="file:../data/watchamoo.db" # RESEND_API_KEY=... (or SMTP_*) npm run db:setup # migrate + seed SQLite → backend/data/watchamoo.db ``` ## Run ```bash npm run dev ``` Opens **http://localhost:3000** (UI) and **http://localhost:4000** (API). Next rewrites `/api/*` to the Express backend. Auth uses an HttpOnly `watchamoo_session` cookie. ### Env vars (`backend/.env`) | Variable | Purpose | |----------|---------| | `DATABASE_URL` | SQLite path, e.g. `file:../data/watchamoo.db` (relative to `prisma/`) | | `PORT` | Express port (default `4000`) | | `FRONTEND_ORIGIN` | CORS origin (default `localhost`) | | `RESEND_API_KEY` + `EMAIL_FROM` | Email OTP (or use SMTP_*) | | `EMAIL_DEV_LOG=true` | Local only: print OTP codes to the backend console | `*.db` files are gitignored. Schema + migrations live under `backend/prisma/`. ## Phase 1 (done) - SQLite via Prisma (`users`, `sessions`, `otp_codes`, `videos`, `discovery_logs`, `support_tickets`) - Server-generated OTPs (hashed), bcrypt passwords, HttpOnly sessions - Rate-limited send-code paths; no email-existence leak on password reset - Frontend auth/support/discovery logging talk to Express — not localStorage secrets ## Phase 2 (done) - Removed unpaid “7-day free trial / $9.99” marketing; pilot is free with account signup - Ad-free claim kept for self-hosted MP4 playback (not YouTube) ## Phase 5–6 (done) - UI locale switcher (English / Sepedi / Sesotho / Setswana) for chrome copy - Skip link, focus styles, screen-reader labels, `prefers-reduced-motion` - Page OG/Twitter metadata, custom 404 - Vitest for discovery parsing + catalog filters; Git …