Skip to content

Our D&D website with manuals, characters, and much more!

License

Notifications You must be signed in to change notification settings

soulsbros/Fenice2

Repository files navigation

Fenice2

License Pipeline

ℹ️ Description

This is a website for our D&D group where we handle maps, character data and much more.

The frontend is exposed at https://fenice2.soulsbros.ch.

Dependencies

The website has a few integrations with some external services (100% self-hosted), which are not strictly required to run the website but might be needed for some parts of it:

  • MongoDB database to store characters and campaigns. Required to browse, create, and edit characters and campaigns
  • Keycloak OIDC identity provider to allow users to login and store their characters. Required to create and edit characters
  • MinIO S3 storage to store files such as documents and sounds (optional)
  • Gcal-API to easily fetch the date of our next session from our shared calendar (see steeven9/Gcal-API, optional)
  • Home Assistant with the Alexa integration to announce whose turn it is in combat (optional)

🏡 Local development

⚙️ Prerequisites

  • Node.js v22
  • Yarn package manager
  • Docker (if you want to run MongoDB locally)

🔧 Installation

# install dependencies
yarn install

# bootstrap local configuration
cp .env.example .env.local

Then adapt the values in the .env.local file depending on which external services you need (see "Dependencies" section).

🚀 Run locally

# start DB
docker-compose up mongodb -d

# start frontend
yarn dev

Finally, open your browser and head to http://localhost:3000. The first load might take a while, so be patient!

📄 Mock data

If you want to load some characters and campaigns, there is some example data in the mock_data folder.

You will need a running MongoDB database and the MongoDB database tools

To load it in the MongoDB database, simply run the script:

cd mock_data

./load_data.sh

♻️ Contributing

If you spot a bug or think there's a missing feature, feel free to open an issue on our GitHub page!

Before submitting a pull request, please check that the build is still passing even after the changes:

yarn build

Credits

Error logos by SAWARATSUKI

Art by rui

Dice logos by Zeno

And all our contributors here on GitHub:

(made with contributors-img)