2c043d2f96
Document a provider-explicit SQLx persistence adapter for the SaaS tutorial without adding SQLx to hemx core or the workspace. The recipe keeps auth/session, CSRF, generated helpers, and Result handler mapping as the app boundary. req: laws/002 req: laws/004 req: auth/001 req: auth/002 req: auth/004 req: examples/001 req: canonical_authoring/002 req: failure/004
hemx SaaS tutorial skeleton
This is the compile-tested skeleton for the v1 production-shaped tutorial app. It is intentionally provider-light: auth/session, CSRF, persistence, deploy, metrics, and islands are explicit app boundaries, not hemx core services. req: examples/001 req: auth/001
What it proves today:
- typed form/newtype inputs for project creation
- auth/session context passed through normal Rust state
- CSRF-safe mutation checked before persistence
- local in-memory persistence adapter instead of a vendored SQL/auth provider
- generated form, slot, keyed row, page-swap, and live-status commands
- page shell with plain CSS and one explicit metrics island script
- compile-time surface generation plus interaction tests
For a provider-explicit persistence boundary, see ../../docs/recipes/sqlx-persistence.md.
What it deliberately does not claim yet:
- a checked-in SQLx migration crate or database pool
- production cookie/session middleware
- a deploy target, flags, analytics, billing, or offline sync
- browser automation for the metrics island
Run:
cargo run -p hemx-saas-example
cargo test -p hemx-saas-example