Skip to main content

Getting Started

The TrickFire Dashboard is a Next.js app with a local SQLite database. If you've never worked on a TypeScript/Next.js app before, read Next.js & TypeScript alongside this page - it explains what all the pieces below are.

Dev-Container

Open the repo in VS Code with the Dev Containers extension installed, then run Dev Containers: Reopen in Container from the command palette.

The container automatically:

  1. Installs Node.js and pnpm at the pinned versions.
  2. Runs pnpm install.
  3. Copies .env.example to .env.local.
  4. Runs the database migrations and seeds sample data.

Once it finishes, run:

Terminal
pnpm dev

and open http://localhost:3000.

Local Dev Setup

Prerequisites:

  • Node.js ≥ 20 (see .nvmrc)
  • pnpm package manager
  • A C++ build toolchain
Terminal
pnpm install
cp .env.example .env.local # then set BETTER_AUTH_SECRET at minimum
pnpm db:migrate
pnpm db:seed
pnpm dev

Open http://localhost:3000 and log in with whatever you set as SEED_ADMIN_EMAIL / SEED_ADMIN_PASSWORD in .env.local.

tip

Almost every environment variable is optional for local dev - the app is written to degrade gracefully when an integration isn't configured (Minecraft status just shows "offline", the Network tab shows empty, etc.). BETTER_AUTH_SECRET is the only one you must set yourself; generate it with openssl rand -hex 32.

What "seeding" gives you

pnpm db:seed populates the local database with the 6 TrickFire subteams, an admin user (from SEED_ADMIN_*), and a handful of sample orders across every status, so the UI isn't empty on first run. It's idempotent - safe to re-run any time.