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
30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
# 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:
|
|
|
|
```sh
|
|
cargo run -p hemx-saas-example
|
|
cargo test -p hemx-saas-example
|
|
```
|