Skip to content

Repository files navigation

Gimli

A suite of tools for Dungeon Masters to manage their campaigns. Support includes only D&D 5E for now

Prerequisites

  • 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)

Setup

Database Setup with Docker Compose

We use Docker Compose to run the PostgreSQL database only:

docker compose up -d db

This 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.

Backend Setup

  1. Create a virtual environment and activate it using UV:
cd backend
uv venv
source .venv/bin/activate  # On Windows: .\.venv\Scripts\activate
  1. Install dependencies with UV:
uv pip install -r requirements.txt
  1. Copy the environment file and configure it:
cp .env.example .env

Edit .env with your database and Google OAuth credentials.

  1. Run migrations:
python manage.py migrate
  1. Start the development server:
python manage.py runserver

Frontend Setup

  1. Install dependencies using PNPM:
cd frontend
pnpm install
  1. Copy the environment file and configure it:
cp .env.example .env

Edit .env with your Google OAuth client ID.

  1. Start the development server:
pnpm dev

Google OAuth Setup

  1. Go to the Google Cloud Console
  2. Create a new project or select an existing one
  3. Enable the Google+ API
  4. Go to Credentials and create an OAuth 2.0 Client ID
  5. Add the following authorized redirect URIs:
    • http://localhost:5173 (development)
    • http://localhost:8000/accounts/google/login/callback/ (development)
  6. Copy the Client ID and Client Secret to your environment files

Development

The application will be available at:

About

A bunch of tools for a bunch of fucking nerds

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages