Appearance
Local setup
Who this is for: Developers
What you'll achieve: Run SchoolRota locally with the demo tenant
Stack
- Next.js (App Router) + tRPC + React
- SQLite (
better-sqlite3) + Drizzle ORM by default - Optional Redis / BullMQ worker
- TypeScript scheduling engine in
packages/domain
Quick start
bash
# 1) Install
pnpm install
# 2) Schema + blank demo tenant
cp .env.example .env
pnpm db:generate
pnpm db:migrate
pnpm db:seed
# 3) App (port 3001)
pnpm devOpen http://localhost:3001/t/demo/login
| Field | Value |
|---|---|
admin@demo.school | |
| Password | changeme123 |
Optional Redis worker:
bash
docker compose up -d redis
pnpm workerDocumentation site
bash
pnpm docs:dev # http://localhost:5173
pnpm docs:build
pnpm docs:previewUseful commands
bash
pnpm test
pnpm tenant:create -- --subdomain riverside --name "Riverside Primary" --email admin@riverside.testExample school data policy
Example school documents are reference-only. No real school data is hard-coded into the product. Every tenant starts blank.
