jjbrunton eab73e6314 feat(admin): manage quiz questions and dare intensity
Add a Quiz Questions content page (list/filter/create/edit/activate-
deactivate, no delete since quiz_answers reference questions by id),
route it under manage_questions, and add a sidebar entry.

Fix DaresPage so intensity (1-5) is editable and shown in the table;
previously every admin-created dare silently defaulted to intensity 1.

Add authored min/max intensity fields to DarePacksPage: no trigger or
worker in apps/api computes these columns, so they are admin-set
thresholds gating pack visibility, not derived aggregates. avg_intensity
is displayed read-only since nothing writes to it and it is not used
for filtering.

Extract dare intensity and quiz option validation into small lib
modules with focused unit tests.
2026-08-30 19:13:08 +01:00
2026-01-24 20:16:01 +00:00
2025-12-30 15:54:34 +00:00
2025-12-27 19:10:11 +00:00

Sauci

Sauci is a couples connection product built as a full-stack npm/Turborepo workspace.

Applications

Path Surface
apps/mobile Expo React Native customer app
apps/admin Vite/React administration app
apps/web Next.js marketing and redemption app
apps/supabase database, auth, realtime, storage, and Edge Functions
apps/mcp authenticated internal MCP service
packages/shared shared TypeScript contracts

Bootstrap and run

Use Node 20.10.0 from .nvmrc, Docker-compatible containers, and tmux.

npm ci
scripts/dev-local.sh reset
scripts/dev-local.sh up

The launcher starts local Supabase, Edge Functions, web, admin, MCP, and Expo in one tmux session. See local stack documentation for ports, logs, native launch commands, and troubleshooting.

Verify

npm run verify:fast  # lint, typecheck, unit/contract tests
npm run verify:full  # fast checks, builds, Supabase integration
npm run verify:e2e   # running-stack Playwright journeys
npm run verify       # complete pre-PR gate

Native black-box flows use npm run test:mobile:e2e. Pull requests run static and full-stack gates and retain browser traces/screenshots/videos on failure.

Agent harness

Start with AGENTS.md and the documentation index. Task/risk agent routing lives in docs/agents/routing.md, repository skills live under .codex/skills, and verified lessons follow the learning promotion lifecycle.

Database schema changes must use committed files in apps/supabase/migrations. Remote migration tools and DDL through MCP SQL execution are forbidden.

S
Description
No description provided
Readme
73 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 79.3%
Python 7.6%
PLpgSQL 6.2%
HTML 2.8%
JavaScript 1.5%
Other 2.3%