UPDATED 3/14/19
RPG Chef is a web application that helps you create content for DnD 5e.
RPG Chef is built using React and Redux. It employs a microservice architecture that uses hapi.js and PostgreSQL. It renders content with LaTeX.
It's doubtful that you'd want to take this application "as is" and run it as a public website, though there's nothing preventing you from doing so. (For legal reasons, you'd need to remove any mention of "RPG Chef" or any of the other stuff we have legal stuff around. There's OGL stuff in here you'd need to agree to if you wanted to publish it.) I mainly make this code public so people can see how I did what I did, which is mainly of interest to other developers working on similar applications and people who may wish to hire me and want to see my code.
Not really. I'll be the first to tell you that writing a nifty web application is only one part of getting a successful startup off the ground. There's a ton of marketing, branding, devOps, customer support and a boatload of other details that need to be worked out. And besides, Reddit did it, and they don't seem to have any problem competing with people that use their code.
Truth be told so much of what I've done with this project depends on open source projects built by other people that it seems kind of selfish not to make my code avaiable.
- A working postgres server, 9.5 or better.
node
andnpm
(tested with node 4.x, 5 will likely work fine.)gulp
available in your path
- Clone the repo with
git clone https://github.com/jaybill/rpgchef.git
- Change into the directory where you cloned the repo
- run
npm install
- copy
template.env
to.env
and edit it to reflect your database settings and various accounts. DO NOT PUT.env
IN SOURCE CONTROL. - run
gulp migrate
to set up the database - run
gulp fixture --name monsters
to load the monsters into the database. You can also loadweapons
andweapongroups
but these aren't currently active in the application. - run
gulp
to bring up the app in dev mode. You should be able to see the site on whatever url/port you configured
Deployment is beyond the scope of this short readme, but it uses AWS CodeDeploy. You need the aws commad line tool installed and configured, and you'll need to create a directory called tempnode
and copy (or preferably, create a symlink to) the package.json
in the root directory. You can then go into that directory and run npm install --production
and this will install only the production dependencies and not the dev dependencies. You can look at the deploy
task in gulpfile.js
to see what it does.
If you don't want to use CodeDeploy, you can tweak the gulpfile to build a dist version and then move that to your web server however you'd like.
I'm not expecting that I'll be deluged with contributions on this thing, but if you're so moved, by all means submit a pull request. If you find a bug, feel free to report an issue.
If you are a user of the RPG Chef website and need help with that, as in the one at https://rpgchef.com - DO NOT submit an issue here, instead use our regular issue tracker.
I will try to answer questions if I can, but be aware that it may take me some time to respond.