Roll or Die is a PWA-ready Dungeon and Dragons 5e 2024 campaign board built as a Vite monorepo with a React frontend and a Node/Express backend.
- Account registration and login with token-based sessions
- Campaign rooms with role-based membership (
dmorplayer) - Invite codes for joining campaigns
- Screenshot-inspired dark/gold interactive character sheet
- Editable characters, NPCs, and monsters
- Monster catalog for DMs
- Tactical board with multiple maps and per-map token positions
- Adjustable grid with scale and offsets
- Drawing, walls, and fog of war
- One chat per campaign room
- Dice rolls from sheet actions or
/roll 1d20+5in chat - SQLite-backed persistence in the backend
- PWA manifest and service worker via
vite-plugin-pwa
cp example.env .env
./app.sh npm install
./app.sh upSet APP_MODE=prod in .env when you want the production container instead of the dev one.
Frontend: http://localhost:5174
Backend: http://localhost:4000
Use ./app.sh build to build the active Docker profile from .env.
The backend stores persistent data in data/app.sqlite, created automatically on first run.