A digital character sheet for D&D 5e. Create, edit, and manage your characters online with features for abilities, skills, spells, equipment, and more. Share character sheets with others or keep them private.
-
Install PHP dependencies:
composer install
-
Install Node.js dependencies and build assets:
npm install npm run prod
-
Create a
.envfile with your Postmark API key:POSTMARK_SECRET="your_postmark_api_key_here" POSTMARK_FROM="fromemail@example.com" # new user emails will come from this address ENV="DEVELOPMENT" # emails are sent to the Postmark test address instead of the user's email address ALLOW_SIGNUPS=1 # optional, if you want to let people register accounts ADMIN_ONLY=1 # optional, restrict logging in to only admin users
-
Secure private directories and files - ensure your web server blocks access to the
/datadirectory as it contains the SQLite database. You will also want to block access to the.envfile, themigrationsdirectory, and theetldirectory. I've already included.htaccessfiles to this end.
- PHP (v8 recommended but older versions may work)
- Node.js (for building frontend assets)
- Postmark account (for signup confirmation emails). If you want to opt out of using Postmark, you can omit the environmental variables listed above. It just means you will need to manually confirm new signups. You can rework the code to either not use this or use the provider of your choice. Perhaps I can make this easier to customize in a future update.
- PHP with Fat-Free Framework
- SQLite database
- Vue.js 3
- Tailwind CSS
- Vite for asset compilation
The project structure is really old and needs to be refactored to keep private files and directories out of the document root. I will look into this if there is sufficient interest in self-hosting the app.
As far as user-facing features, here is what is on my roadmap.
- Export character sheets in plain text (Markdown)
- A nicer way for groups to share their character sheets with each other