A SvelteKit 5 application for managing D&D Adventurers League campaigns, with local development powered by Supabase and modern Svelte tooling.
- Node.js v22 or later
- Bun v1.2.19+ (recommended), or pnpm / npm
- Supabase CLI (for local database)
- Docker (optional, for running Supabase locally)
- Clone the repository:
git clone <your-repo-url>
cd ddal-svelte- Copy and configure your environment variables:
cp .env.example.local .env.local
cp .env.example.development.local .env.development.local
cp .env.example.production.local .env.production.local
# Edit .env to match your local setup (database credentials, API keys, etc.)The
.envfile is required for local development. See.env.examplefor required variables.
- Install dependencies:
pnpm install
bun install
npm installBy default, the dev script will start Supabase and the SvelteKit dev server.
- With Supabase CLI (recommended):
supabase startThis will spin up the local database and Supabase services using Docker.
- With Docker Compose (alternative):
If you want to run Supabase manually, follow the Supabase Docker quickstart and ensure your
.envandsupabase/config.tomlare configured.
Start the local dev server (and Supabase):
pnpm dev
# or
bun run dev
# or
npm run dev- The app will be available at http://localhost:5173 (or as configured by Vite).
- Supabase Studio will be available at http://localhost:54323 by default.
To create a production build:
pnpm build
# or
bun run build
# or
npm run buildPreview the production build:
pnpm preview
# or
bun run preview
# or
npm run previewpnpm lint
pnpm format- The project uses Drizzle ORM for database access.
- See
supabase/for database schema and migrations. - For more details, check the scripts in
package.json.