Commerce, maps and social access
The commerce provider shares products, orders, invoices and subscription state within each workspace. Its default Checkout and customer portal are local mocks. Connect the supplied Stripe HTTP adapter to your own authenticated backend; secret keys, payment status and OAuth sessions belong to that backend. Google Maps is an optional, explicit connection with a restricted browser key.
Read the integration contracts and examplesA complete SaaS operation
WorkspaceProvider connects onboarding, invitations, role previews, customer lists, notes, file metadata and saved views in the demo. Customer queries cancel obsolete requests and keep page totals in external mode. The reusable blocks receive controlled values and callbacks so you can connect your own services.
node bin/aureform.mjs add onboarding-flow member-management data-workbench import-wizard record-detail --cwd ../my-product --dry-run # Each block works with controlled props and callbacks. # Add workspace-provider for the complete local demo context. node bin/aureform.mjs add workspace-provider --cwd ../my-product
Every interactive screen uses deterministic sample data and browser persistence. There is no production backend in this source kit. The separation between interface and adapter gives your product a clear integration point.
| Boundary | Current behavior |
|---|---|
| commerce-provider.tsx | Workspace-scoped catalog, orders, invoices and subscription; idempotent mock payments. |
| lib/stripe-commerce-adapter.ts | Typed same-origin backend transport for catalog sync, Checkout, invoices and customer portal. |
| lib/demo-auth.ts | Google, GitHub and Microsoft mock profiles with replaceable client callbacks. |
| workspace-provider.tsx | Validated workspace snapshots; scoped customers, members, notes, views and attachment metadata. |
| demo/customer-adapter.ts | Controlled queries, AND filters, sorting, page totals and AbortSignal. |
| lib/csv-import.ts | CSV parsing, typed field mapping, duplicates and validated callback results. |
| use-demo-store.ts | LocalStorage: CRUD, settings, boards, messages |
| demo/ai-adapter.ts | Async text generator with abort and simulated errors |
| demo/file-adapter.ts | IndexedDB blobs and local downloads |
| demo/visual-adapter.ts | Prepared original SVG/video previews |
| auth.tsx | Local form validation; no real identity session |
| lib/google-maps.ts | Local GeoJSON by default; opt-in Google Maps SDK with an in-memory browser key. |
Stream through your own server
type AssistantRequest = {
prompt: string;
model: string;
signal: AbortSignal;
};
// Keep credentials on the server.
// Replace the demo generator with an authenticated endpoint.
// Preserve pending, cancellation, retry and error states.The demonstration verification code is 123456. API keys are inert strings prefixed af_demo_. Email actions remain local. Billing buttons update illustrative settings; they charge nothing. Resetting the demo clears Aureform records and local uploaded files.