Flagship Demo
Boot a real backend, seed data, and generate a working admin — in minutes. The runnable demo lives in examples/pocketbase-demo.
Runnable demos exist for every connector — pick your backend:
| Backend | Example | Start |
|---|---|---|
| PocketBase | examples/pocketbase-demo | ./start.sh |
| Payload + SQLite | examples/payload-demo | ./start.sh |
| Supabase / Postgres | examples/supabase-demo | ./start.sh |
| Appwrite | examples/appwrite-demo | ./start.sh |
| Directus | examples/directus-demo | docker compose up -d |
| Turso / libSQL | examples/turso-demo | ./start.sh |
One command
cd examples/pocketbase-demo
./start.shDownloads PocketBase, creates an admin, serves it on http://127.0.0.1:8090, and seeds demo collections (posts, products) + a demo user.
Docker alternative:
docker compose up -dthennode ../../docs/pocketbase/seed.js.
Generate the admin
dashin new my-admin && cd my-admin
# .env: VITE_AUTH_PLUGIN=@dashin-dev/auth-pocketbase, VITE_AUTH_URL=http://127.0.0.1:8090
export DASHIN_AI_PROVIDER=openai DASHIN_AI_API_KEY=sk-... DASHIN_AI_MODEL=gpt-4o-mini
dashin ai generate --url http://127.0.0.1:8090 --collection posts --token <admin-token>
yarn devSign in as demo / dashin123. See the AI guide for the full flow, including ai theme and ai refine.
Flagship example (no AI key)
The PocketBase demo ships drop-in files that exercise the plugin-level features: example-admin.tsx (posts — filtering, inline CRUD, bulk delete, status-pill lookup, custom render), example-products.tsx (a second schema), and example-menu.ts (registers both as a multi-level menu: Blog → Posts + Products).
The surrounding shell — KPI stat band, modern layout, dark-mode toggle, i18n, dynamic routing — is added automatically by dashin new on every list view, so it needs no code in these files.
Credentials (PocketBase)
- PocketBase admin:
admin@dashin.test/dashin123 - Demo user (app login):
demo/dashin123
Payload CMS + SQLite
A second demo uses Payload CMS with SQLite — no external database required.
cd examples/payload-demo
./start.shScaffolds Payload, installs deps, seeds posts and products collections, and serves on http://127.0.0.1:3001.
Docker alternative:
docker compose up -d
Generate the admin
dashin new my-admin && cd my-admin
# .env: VITE_AUTH_PLUGIN=@dashin-dev/auth-payload, VITE_AUTH_URL=http://127.0.0.1:3001
export DASHIN_AI_PROVIDER=openai DASHIN_AI_API_KEY=sk-... DASHIN_AI_MODEL=gpt-4o-mini
dashin ai generate --url http://127.0.0.1:3001 --collection posts --token <admin-token>
yarn devOr drop in the pre-built example-admin.tsx — no AI key needed.
Credentials (Payload)
- Payload admin:
admin@dashin.test/dashin123
Supabase / Postgres
Local Supabase stack (via the Supabase CLI + Docker) with seeded posts and products tables.
cd examples/supabase-demo
./start.shStudio runs at http://127.0.0.1:54323, the API at http://127.0.0.1:54321. The script prints the anon key to use in .env.
VITE_AUTH_PLUGIN=@dashin-dev/auth-supabase
VITE_MAIN_URL=http://127.0.0.1:54321
VITE_SUPABASE_KEY=<anon-key>Stop with
npx supabase stop.
Appwrite
Self-hosted Appwrite via Docker.
cd examples/appwrite-demo
./start.shServes the console on http://127.0.0.1:8080. Create a project + database + posts collection in the console (one-time), then:
VITE_AUTH_PLUGIN=@dashin-dev/auth-appwrite
VITE_AUTH_URL=http://127.0.0.1:8080
VITE_APPWRITE_PROJECT=<your-project-id>
VITE_APPWRITE_DATABASE=<your-database-id>Appwrite rows use
$id. Stop withdocker compose down.
Directus
Self-hosted Directus (SQLite-backed) via Docker.
cd examples/directus-demo
docker compose up -dServes on http://127.0.0.1:8055. Create a posts collection in the data studio (one-time), then:
VITE_AUTH_PLUGIN=@dashin-dev/auth-directus
VITE_MAIN_URL=http://127.0.0.1:8055Credentials (Directus)
- Directus admin:
admin@dashin.test/dashin123
Turso / libSQL
Local libSQL server (sqld) over SQLite, seeded with posts and products.
cd examples/turso-demo
./start.shServes the libSQL HTTP protocol on http://127.0.0.1:8080.
VITE_AUTH_PLUGIN=@dashin-dev/auth-local
VITE_MAIN_URL=http://127.0.0.1:8080For hosted Turso, point
VITE_MAIN_URLat your*.turso.ioURL and sign in with a DB auth token.
Each demo ships a pre-built example-admin.tsx you can drop in without an AI key.