Skip to content

Wootai/expedition-quest-creator

 
 

Repository files navigation

Expedition Quest Creator

Build Status

Write and publish quests for Expedition: The RPG Card Game.

This is the companion to the Expedition App.

Installation

Install:

Now install the repo:

git clone https://github.com/ExpeditionRPG/expedition-quest-creator
cd expedition-quest-creator
sudo npm install -g webpack && npm install

If you use windows, you may need to run the following:

npm install --global --production windows-build-tools

Config.json

Config.json contains app secrets that shouldn't be committed to the repo. We've included an example file, config-example.json, that shows you what information is needed.

To populate all of the values, you'll need to create a Google Cloud project and connect it to a Postgres database (either run locally or remote).

TODO: from a clean installation on a new machine, what config properties are actually required to run? What setup steps are required to generate them?

Development workflow

Serve / watch

npm run dev

The Quest Creator is then available at http://localhost:8080 by default. Note that dev defaults to using the beta API, running on a free Heroku instance - if you haven't dev'd in a while, it may take a minute to spin up after the first request.

When running on Windows, must be run within a Unix-like shell (such as Git Bash).

The IDE automatically loads config.json on start - this is excluded from the repo as it holds secrets unfit for mortal eyes.

Testing

npm test

Deploying

The Quest Creator uses Continuous Integration (via Travis CI) and Heroku hosting to make deployment super easy.

If tests pass, that code is automatically deployed to AWS S3 at http://betaquests.expeditiongame.com.

Once master has been thoroughly tested on dev, you can deploy to prod with ./prod.sh - if you run into any deploy issues, make sure to read the notes in that file!

Database

The Quest Creator uses Postgres SQL. You can test functionality and scripts against a locally-hosted version of Postgres. To access the official databases, you'll need to be a regular contributor to the codebase and receive special permission from the creators.

If you are going to access prod, especially to edit data, make sure to make a backup here first. Backups are automatically created daily, but this will allow zero-consequence rollbacks in case your query fails.

For database querying, make sure you have psql installed and can do which psql, then run heroku pg:psql --app expedition-quest-creator-dev DATABASE to connect.

On Mac, you may need to add PATH=/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH to your .bash_profile for your terminal to recognize the psql command.

The production database is backed up daily. See the playbook on how to interact with these backups.

If you need fresher data in devel, you can restore a prod backup into dev:

heroku pg:backups:restore expedition-quest-creator:: DATABASE_URL -a expedition-quest-creator-dev

About

The Quest Creator tool for Expedition: The Roleplaying Card Game

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 85.0%
  • CSS 5.7%
  • HTML 4.3%
  • JavaScript 4.0%
  • Shell 1.0%