A suite of tools for Dungeon Masters to manage their campaigns. Support includes only D&D 5E for now
- Python 3.11+
- Node.js v23+
- Docker and Docker Compose (for database only)
- Google OAuth 2.0 credentials
- UV (Python package manager)
- PNPM (Node.js package manager)
We use Docker Compose to run the PostgreSQL database only:
docker compose up -d dbThis will start a PostgreSQL instance with the configuration defined in the docker-compose.yml file. The backend and frontend applications are run locally for development.
- Create a virtual environment and activate it using UV:
cd backend
uv venv
source .venv/bin/activate # On Windows: .\.venv\Scripts\activate- Install dependencies with UV:
uv pip install -r requirements.txt- Copy the environment file and configure it:
cp .env.example .envEdit .env with your database and Google OAuth credentials.
- Run migrations:
python manage.py migrate- Start the development server:
python manage.py runserver- Install dependencies using PNPM:
cd frontend
pnpm install- Copy the environment file and configure it:
cp .env.example .envEdit .env with your Google OAuth client ID.
- Start the development server:
pnpm dev- Go to the Google Cloud Console
- Create a new project or select an existing one
- Enable the Google+ API
- Go to Credentials and create an OAuth 2.0 Client ID
- Add the following authorized redirect URIs:
http://localhost:5173(development)http://localhost:8000/accounts/google/login/callback/(development)
- Copy the Client ID and Client Secret to your environment files
The application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000