cgrinds / dominion

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dominion Code Climate

A website implementation of the board game Dominion, based off the former site dominion.isotropic.org. Built on Meteor and backed by MongoDB.

Development

To run the game locally, just make sure you've got Meteor installed, then clone down the repository and run it!

meteor run --settings=settings-dev.json

Production

Meteor apps can be built into optimized node applications which don't require the meteor tool to run. Instead, node and MongoDB must be available. dominion-meteor has been tested with node 4.x and node 6.x, and with MongoDB 3.2.

Copy settings-dev.json to settings-prod.json and edit it to match your deployment details. Export the following env variables:

export METEOR_SETTINGS=$(cat settings-prod.json)
export MONGO_URL=mongodb://localhost:27017/example
export ROOT_URL=http://example.com

Build the optimized bundle as a directory:

npm install
meteor build /path/to/build --directory

Install the compiled dependencies and run the app:

cd /path/to/build/bundle
(cd programs/server && npm install)
node main.js

Docker Compose

Alternatively you may run the game in a Docker Compose stack. Both the development and the production modes are supported. Refer to the README in the compose directory.

meteor run --settings=settings-dev.json

Usage

This game is built with the expectation that it'll be run as a private server. Once a user has signed up, an admin will need to verify the account before they're allowed to play. To create the admin account, just sign up as normal, then in the mongo console, set an attribute of admin: true. This will allow you to access the accounts page when you're signed in, where you can approve/unapprove users who have signed up.

About


Languages

Language:JavaScript 95.8%Language:HTML 3.6%Language:SCSS 0.6%