Build the Bunway Showcase
Build the complete Bunway Showcase, the publishing and operations application used throughout these docs. You will compose CRUD, relationships, attachments, SSE and WebSockets, Better Auth, Audit, Mail, and SMS on PostgreSQL, MySQL, or SQLite. PostgreSQL additionally demonstrates durable Jobs and workers.
This is a reproducible build guide, not a tour of unrelated examples. The final application uses the same named surfaces as the finished Showcase: Products, Categories, the Blog, Realtime, Auth, Audit, and Messaging. Generated files and hand-composed demo pages are identified explicitly; nothing appears through hidden route discovery.
| Step | You will build |
|---|---|
| 1 | project, database, and mental model |
| 2 | Category and validated Product CRUD, relationship, attachment, and SvelteKit UI |
| 3 | the Users, Posts, Comments, and Tags publishing model |
| 4 | /examples/messaging Mail/SMS demo and sidebar link |
| 5 | /realtime SSE/WebSocket demo and sidebar link; PostgreSQL durable processing |
| 6 | password Auth, OAuth setup, TOTP, backup codes, protected routes |
| 7 | /examples/audit durable history demo and sidebar link |
| 8 | tests, production build, and deployment plan |
The tutorial requires Bun and one supported database: PostgreSQL (default), MySQL, or SQLite. Jobs and queued Mail/SMS require PostgreSQL; every other Showcase surface runs on all three. Third-party OAuth, Mail, and SMS accounts are optional: development guidance and console delivery let you complete the local path without them.
Restart bunway dev after adding routes or changing environment variables. Resource scaffolds add
themselves to web/src/lib/resources.ts; Jobs and Realtime do not imply a UI, so their showcase pages
are registered explicitly in this guide.
Start with 1. Create and understand the app.