Tarrasque App is a free and open-source virtual tabletop software for playing Dungeons & Dragons. It allows you to create and manage your own campaigns, maps, and characters, and provides a simple and intuitive interface for playing D&D online or in-person.
Note Tarrasque App is the official open-source successor to Tarrasque.io. You can read the announcement regarding the new version here.
Warning This project is in pre-alpha and is not yet ready for public use. Please do not use this in production or with real data. We are not responsible for any data loss or other issues that may occur.
- Node.js (v20.11.1)
- pnpm (v8.11.0 or higher)
- Supabase CLI (v1.123.4 or higher)
Tarrasque App uses pnpm as its package manager. To install the dependencies, run:
pnpm install
Tarrasque App uses Supabase as its database. You can either use a free cloud-hosted Supabase project or run a local instance of Supabase using Docker by running:
supabase start
If you're using a cloud-hosted Supabase project, be aware that you will not be able to use Tarrasque App without an internet connection.
Copy the .env.example
file to .env
and edit it to set the necessary environment variables as per your Supabase project settings.
cp .env.example .env
If you're using a cloud-hosted Supabase project, you can find the values for SUPABASE_URL
, SUPABASE_ANON_KEY
, and SUPABASE_SERVICE_ROLE_KEY
in your Supabase project settings under the "API" tab. For a local Supabase instance, the values will be displayed in the terminal when you run supabase start
.
Similarly, to start the production server, run:
pnpm build
pnpm start
This will start the UI at http://localhost:3000
.
To start the development server, run:
pnpm dev
This will start the UI at http://localhost:3000
.
You can create a new database migration by running:
supabase migration new <migration-name>
This will create a new empty migration file in the migrations
directory. You can then edit this file to add the necessary SQL commands to migrate the database schema. Alternatively, you can make changes to the database schema using the Supabase web interface and then generate the migration file by running:
supabase db diff <--local|--linked> --file <migration-name>
After making changes to the Supabase database schema, you can generate the TypeScript types for the schema by running:
supabase gen types typescript <--local|--linked> > utils/supabase/types.gen.ts
You can reset the database to its initial state by running:
supabase db reset
This will delete all data in the database and run all the migrations from the beginning.
Contributions are welcome! Please see the CONTRIBUTING file for more information. If you have any questions, feel free to reach out to us on Discord. We'd love to hear from you! 😊
Tarrasque App is licensed under the GNU Affero General Public License. See the LICENSE file for more information.