/character-sheet-5e

A responsive, online/offline web app to act as a character sheet for 5e D&D.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Character Sheet. 5e.

A responsive, online/offline web app to act as a character sheet for 5e D&D.

Synopsis

If you just want to use the app, I am running a copy of it here: https://charsheet5e.derikbadman.com Try it out. Check out the "Help" link in the footer for some instructions.

If you want to run the app on your own server, assist in development, or fork your own, continue on...

Motivation

I hate fillable pdfs. I couldn't find a sharp pencil for the character sheet I printed out. I wanted to use my new iPad. I wanted to try out a bunch of modern browser features without worrying about backwards compatibility. I thought maybe someone else would want these things too.

Installation

Serverless

Just open up index.html in a browser.

Server

  • Point your server at the repo so it opens index.html. That's about it...

If you want to take advantage of the offline mode, it's a little more complicated:

  • you'll need to use a HTTPS connection (Let's Encrypt is really easy to set-up to get a free SSL cert)
  • Make sure files are set to not cache and that some files are not accessible. In nginx I added the following to my server block:
    index   index.html;
    gzip on;
    gzip_types text/css application/javascript image/svg+xml;

    location / {
        expires -1;
    }
    location /build/ {
        deny all;
        return 404;
    }
    location /node_modules/ {
        deny all;
        return 404;
    }
    location = /package.json {
        deny all;
        return 404;
    }
    location = /.gitignore {
        deny all;
        return 404;
    }
    location = /.eslintrc.json {
        deny all;
        return 404;
    }

Tests

No tests yet, as I am not sure how to best go about that.

Contributors

I'd be happy to accept feature requests, bug reports, and pull requests via the github repository. There is an eslint config file for javascript style, which can be run on the code via npm run eslint:js (or just in your IDE). Run npm run build to concat/uglify the source files (Note: make sure you run npm i so you have the appropriate packages installed if you are editing css).

Conventional Changelog is installed for commit messages. Standard Version is used for releases, changelogs, etc.

License

GNU GENERAL PUBLIC LICENSE, Version 3