An on-line and in person real-time puzzle scavenger hunt!
Meteor 3 considerably modified the install process. The instructions here are brief because of that, but may be incomplete.
You should have NodeJS (and possibly Python) installed on your machine. Then:
npx meteorThe Meteor docs have further details.
After installing meteor and cloning this repository, run
npm startto start the server. Then navigate to localhost:3000 to see the page.
The run loop that checks for timed-out puzzles can be offloaded to a
separate process, and should be when running in production. For
details, see the documentation in workers/README.md.
NOTE: These instructions are for older versions of the project using Meteor@2.
-
Install
python2if you don't already have it (needed for nvm). You'll likely also needbuild-essentialandcoreutilspackage if on a fresh Linux install.) -
Install NVM
-
Install MongoDB. You may want to install the version used in the Heroku mLab instance (as of Spring 2020, that's
3.6.9). Also read the section about preventingapt-getfrom updating your mongodb install when you're not watching. -
Install Meteor
-
Use NVM to install Node 8.12 (mirroring Heroku) and set an alias for that version as meteor. If you want to use yarn as well install yarn.
$ nvm install 8.12.0
$ nvm alias meteor 8.12.0
$ nvm use meteor
$ npm i -g yarn # optional, if using yarn- Clone the repo
$ git clone git@github.com:cabeese/greatpuzzlehunt.git- CD into the repo and install NPM packages
$ cd greatpuzzlehunt/
$ npm install # or use `yarn install`-
If you'd like to, edit the
settings-development.jsonfile, but don't commit these changes to the repo. -
Run the application using the scripts define in
package.json
$ npm start
- In another shell you can connect to the Meteor server with the Meteor shell (much like rails console).
$ meteor shell
A few handy scripts exist in the scripts/ directory.
sh scripts/hh_export.shwill export all the users in the database. Used for "hold harmless" records.sh scripts/update-heroku-configwill update the configuration settings in Heroku based on thesettings-prod.jsonfile.sh restore_db.shwill restore the local MongoDB database with the contents of a Mongo "dump" filegph-mongo.dump
You might see an error message about not having the right version of bcrypt/missing bcrypt. Just manually install it:
$ meteor npm install bcryptIf you get a @babel/runtime error, reinstall the correct babel runtime version:
$ meteor npm install @babel/runtime@7.0.0-beta.55If you're developing on Windows, you may encounter a cannot find module 'fibers' error. To fix this, run the following command:
meteor update --release 1.6.1.2-rc.0