massively multiplayer golfing
TypeScript JavaScript HTML CSS PLpgSQL
Clone or download
Latest commit fa13308 May 22, 2017


Build Status

massively multiplayer procedurally-generated 2d golf. think desert golf + trackmania


dev guide


after cloning the repo, run npm install in the project root to get all necessary dependencies to build, test, and run.


in two different sessions:

npm run server-watch
npm run client-watch

and navigate to localhost:8080


npm run test-watch


create a secret.json with ssh & sentry deets

  "host": "",
  "username": "bigjeffrey",
  "path": "/home/bigjeffrey/manygolf",
  "ravenDSNPublic": ""
  "ravenDSNPrivate": ""

on your server, make sure you have node+npm and forever (npm install -g forever) installed

then locally:

npm run deploy

this builds files locally and bundles up built files + source, deploys it to your specified path, and runs it.

the server runs using the forever tool. you can start/stop/look at logs with this.

it's up to you to expose the server (port 4080) and the files in build/ to the world. nginx can do it!



Manygolf uses the sqitch tool for DB migrations. To use locally:

createdb manygolf
cd sqitch
cp sqitch.conf.default sqitch.conf
sqitch deploy

This should create the local schema for you.

Sqitch is also used to deploy to remote targets. You can add a remote target to sqitch.conf using sqitch target add. sqitch.conf is gitignored for this reason. If you're using Heroku, you can add a remote target like this:

sqitch target add production "`heroku config:get DATABASE_URL --remote heroku`"

configuring locally

Manygolf uses dotenv to load the database configuration from a .env file. Just cp _env .env and replace the database URL with your local DB, e.g.: