SvelteKit 5 ยท Supabase ยท Tailwind v4 ยท TypeScript Premium fintech + SaaS dashboard template with org-level RBAC, per-resource permission overrides, real-time transactions feed, and 4,000+ rows of realistic seed data.
VaultFlow is a fully-working SvelteKit 5 admin dashboard that ships as source โ no closed component library. Fork once, retheme via one CSS file, sell client implementations. Two verticals in one template: flip between Fintech and SaaS mode via a config flag.
@supabase/ssr. Editable profile, organization, and notification preferences settings pagesorganizations.settings JSONBread/write), prefix-only display after creation, and revokebrand-*/surface-* utility classes still resolve. Self-hosted fonts via @fontsource โ no runtime Google Fonts request# Requirements: Node 20+, pnpm 9+, Docker
pnpm install
# 1. Boot Supabase locally (postgres + auth + storage + realtime in Docker)
pnpm supabase:start
# 2. Apply migrations (RLS, permission catalog, etc.)
pnpm db:reset
# 3. Seed demo data โ 3 orgs, 7 users, 4k+ rows
pnpm seed:dev --reset
# 4. Run the app
pnpm dev
# โ http://localhost:5173
Open the printed Supabase keys and paste into apps/dashboard/.env.local (or copy from .env.example).
Next: skim GUIDE.md to swap brand colors, fonts, add a permission, or deploy.
The repo ships a multi-stage Dockerfile and docker-compose.yml that build the dashboard against Supabase Cloud.
# 1. Create a project at https://supabase.com โ grab URL + anon key + service-role key
# 2. Apply migrations (from apps/dashboard):
# supabase link --project-ref <your-ref> && supabase db push
# 3. Seed demo data against the cloud DB:
# pnpm --filter dashboard seed:dev --reset
# 4. Create the runtime env file at repo root:
cp apps/dashboard/.env.example .env
# fill in PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY
# set ORIGIN to the public URL you'll expose (e.g. https://demo.example.com)
# 5. Build + run
docker compose up --build -d
# โ http://localhost:3000
See GUIDE.md โ Deployment for the full walkthrough (reverse proxy, TLS, env reference).
| Role | What they see | |
|---|---|---|
| alice@novapay.io | super_admin | Everything |
| bob@novapay.io | admin | All except billing changes |
| carol@novapay.io | finance_manager | Transactions, customers, revenue, reports |
| dave@novapay.io | analyst | Read-only on most, can export |
| eve@novapay.io | viewer | Read-only basics |
| frank@novapay.io | ops_manager | Payments, fraud, customer ops |
| grace@novapay.io | analyst (+ override) | Same as Dave plus explicit transactions:export grant |
Password for all: Demo@1234
| Layer | Choice |
|---|---|
| Framework | SvelteKit 5 (Runes API) |
| Styling | Tailwind CSS 4 (CSS-first, no JS config) |
| Theme | shadcn token system (:root + .dark) โ warm-orange palette, easy re-skin |
| Fonts | Montserrat / Merriweather / Ubuntu Mono โ self-hosted via @fontsource |
| UI | Custom Svelte components + Bits UI primitives |
| Icons | @lucide/svelte |
| Charts | Hand-rolled SVG (no external chart library) |
| Database | Supabase (Postgres 15 + RLS + Realtime + Auth) |
| Auth | Supabase Auth (cookie-based SSR) |
| Validation | Zod |
| Testing | Playwright (E2E) + Vitest (unit) |
| Bundler | Vite 6 |
apps/dashboard/
โโโ src/
โ โโโ app.css # Tailwind v4 + shadcn design tokens + compat shim
โ โโโ hooks.server.ts # Supabase auth middleware
โ โโโ lib/
โ โ โโโ components/
โ โ โ โโโ ui/ # Card, Button, Input, Badge, Label
โ โ โ โโโ layout/ # Sidebar, Topbar, UserMenu, Notifications, CommandPalette
โ โ โ โโโ data-table/ # Generic paginated DataTable
โ โ โ โโโ charts/ # LineChart, BarChart, DonutChart, SparkLine
โ โ โ โโโ SlideOver.svelte # Drawer modal
โ โ โ โโโ StatusBadge.svelte # Toned status pill
โ โ โ โโโ PermissionGuard.svelte
โ โ โโโ config/ # app.config, nav.config (RBAC-aware nav)
โ โ โโโ db/seed/ # Seed scripts (orgs, users, domain data, notifications)
โ โ โโโ server/ # supabase.ts + permission resolver
โ โ โโโ stores/ # ui.store.svelte (sidebar, theme, cmd-k state)
โ โ โโโ types/ # database.types, rbac.types, domain.types
โ โ โโโ utils/ # cn, formatters, export (CSV)
โ โโโ routes/
โ โโโ (auth)/ # login, signup, forgot-password
โ โโโ (app)/ # protected; full dashboard
โ โ โโโ dashboard # Overview with KPIs + realtime feed
โ โ โโโ transactions # Full ledger + slide-over
โ โ โโโ payments # Volume + success rate + method mix
โ โ โโโ fraud # Signals + resolve workflow
โ โ โโโ customers # List + detail
โ โ โโโ subscriptions
โ โ โโโ revenue # MRR trend + waterfall + cohort retention + churn
โ โ โโโ reports # Library + /[slug] preview & schedule
โ โ โโโ team # RBAC showcase + invite-member form
โ โ โโโ audit-log
โ โ โโโ settings/ # profile, organization, notifications, api-keys, billing, appearance
โ โโโ api/
โ โโโ export/[slug].csv # CSV report exports
โ โโโ notifications/read # POST mark-read endpoint
โโโ supabase/migrations/ # Schema + RLS + permission catalog + api_keys
โโโ static/favicon.svg # Warm-orange gradient brand mark
โโโ tests/
โ โโโ e2e/ # Playwright per-role suites (23 chromium tests)
โ โโโ unit/ # Vitest (19 tests)
โโโ playwright.config.ts
โโโ vite.config.ts
Edit apps/dashboard/.env.local:
| Var | Purpose |
|---|---|
PUBLIC_SUPABASE_URL |
Your Supabase project URL |
PUBLIC_SUPABASE_ANON_KEY |
Anon (or new sb_publishable_*) key |
SUPABASE_SERVICE_ROLE_KEY |
Service-role key (server-only, used for seeds) |
DATABASE_URL |
Direct Postgres URL (used by seed scripts) |
PUBLIC_APP_MODE |
fintech | saas | both |
PUBLIC_APP_NAME |
Branding name shown in topbar/logo |
PUBLIC_DEFAULT_CURRENCY |
Default currency for formatters |
PUBLIC_FEATURE_REALTIME |
Toggle Supabase Realtime subscriptions |
PUBLIC_FEATURE_FRAUD |
Show/hide fraud module |
PUBLIC_FEATURE_EXPORTS |
Show/hide export buttons |
PUBLIC_FEATURE_REPORTS |
Show/hide reports module |
VaultFlow is free under MIT โ but if you'd rather hire someone to customize, integrate, or build on top of it, nuvraxis.com offers commercial support, custom builds, and implementation services.
For non-commercial questions, open a GitHub issue or start a discussion.
For security vulnerabilities, please email [email protected] โ don't open a public issue.
MIT ยฉ nuvraxis. Use it, fork it, ship it, sell it โ just keep the copyright notice.
VaultFlow by nuvraxis ยท Built with SvelteKit 5 ยท Tailwind CSS v4 ยท Supabase