adventure/README.md
nholtware fc05a43264
Some checks failed
/ checks (push) Failing after 34s
/ deploy (push) Has been skipped
docs: README
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 12:57:41 -06:00

19 lines
927 B
Markdown

# adventure
Backend for the choose-your-adventure builder/player (Express 5 + Postgres), scaffolded
by `platform/new-service adventure --kind backend --with postgres`. Frontend: `adventure-web`.
A story is one JSONB doc: `{ start, nodes: { key: { title, text, ending?, choices: [{label, to}] } } }`.
Validation (`src/lib/story.ts`): errors block publishing (missing start/targets, dead ends,
no reachable ending); warnings are advisory (unreachable scenes, choices on endings).
| Method | Path | |
|--------|------|-|
| GET | `/stories` | published stories (`?mine=1` includes drafts) |
| GET | `/stories/:id` | story + `issues` |
| POST / PUT | `/stories`, `/stories/:id` | create / replace; 400 on bad shape |
| POST | `/stories/:id/publish` | 422 + `issues` if errors |
| POST | `/stories/:id/unpublish` | |
| DELETE | `/stories/:id` | 204 |
No auth (homelab). Without `DATABASE_URL` an in-memory store is used (tests).