Skip to content

Commit

Permalink
Merge branch 'master' into hit-submission-fix
Browse files Browse the repository at this point in the history
  • Loading branch information
mizzao committed Nov 14, 2019
2 parents 3fb3c1a + 7965368 commit 3d8b88d
Show file tree
Hide file tree
Showing 91 changed files with 8,820 additions and 6,373 deletions.
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.idea
.meteor
.npm
node_modules
packages/*
smart.lock
versions.json

docs/client/data

Expand Down
1 change: 1 addition & 0 deletions .prettierrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
printWidth: 100
23 changes: 15 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
language: objective-c
sudo: required
language: node_js
node_js:
- "0.10"

before_install:
# Install phantomjs
- wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.0.0-macosx.zip
- unzip phantomjs-2.0.0-macosx.zip
- export PATH="`pwd`/phantomjs-2.0.0-macosx/bin:${PATH}"
# Run Arunoda's script
- "curl -L http://git.io/ejPSng | /bin/sh"
script: "make test"
- "curl -L https://git.io/ejPSng | /bin/sh"

# Later stuff for Meteor 1.4: see https://github.com/arunoda/travis-ci-meteor-packages/pull/45
# Make sure this matches what is in package.json.
env:
- CXX=g++-4.8 METEOR_RELEASE=1.4.4.6
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
10 changes: 10 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"esbenp.prettier-vscode"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": []
}
8 changes: 8 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"editor.formatOnSave": true,
"files.exclude": {
"**/.npm": true, // this excludes all folders from the explore tree
"**/node_modules": true,
"packages": true // this excludes the folder only from the root
}
}
35 changes: 35 additions & 0 deletions Contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
## Code

This repo is written in ES6 with a `.prettierrc` to auto-format code.

Initial parts of this codebase were written in Coffeescript. However, ES6
implements many useful functions from Coffeescript while allowing more people to
read the code and contribute. We [decaffeinated] the repo and in the future may
convert fully to TypeScript.

[decaffeinated]: https://github.com/TurkServer/turkserver-meteor/pull/99

TODO: set up format or lint hooks with something like AirBnb's [Javascript style
guide](https://github.com/airbnb/javascript).

## Testing

Clone this entire repository:

```
git clone https://github.com/TurkServer/turkserver-meteor.git turkserver
```

Then run the tests:

```
cd turkserver
meteor --release METEOR.VERSION test-packages ./
```

Where you should replace `METEOR.VERSION` with the `api.versionsFrom` specified in `package.json`.
If you checked out the repository into an existing Meteor app, you can run `meteor test-packages turkserver` from your app instead.

Browse to `http://localhost:3000` to run the tests.

You don't have to run the tests yourself; this project is set up for continuous integration on [Travis CI](https://travis-ci.org/TurkServer/turkserver-meteor), which runs these tests on each commit.
7 changes: 7 additions & 0 deletions History.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## vNEXT

- Convert all Coffeescript to ES6 and support up to Meteor 1.4.

## v0.5.0

- First release on Atmosphere (Meteor's package system).
36 changes: 11 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,15 @@ deploying your app and collecting data.
- Highly configurable randomization of treatments.
- Deploying experiments from a live web interface and watch the progress of experiments in real time.

Here's an example of how TurkServer was used to run a [month-long prisoner's dilemma experiment][longrunpd]:

[longrunpd]: https://github.com/TurkServer/long-run-cooperation

[ ![TurkServer][ts-img] ][ts-link]

[ts-img]: https://j.gifs.com/2R4A4v.gif
[ts-link]: https://www.youtube.com/watch?v=qgS0T979uMQ

## Getting Started

See the [guide](http://turkserver.readthedocs.io/), which has information about
Expand All @@ -22,12 +31,6 @@ getting started, system architecture, experiment design, and examples.
To add this to a Meteor app, follow these instructions:

1. [Install Meteor](http://docs.meteor.com/#quickstart) and create a Meteor app.
2. In the app directory, install TurkServer locally (once we publish TurkServer to the Meteor packaging server, you will be able to omit this step):

```
git clone https://github.com/TurkServer/turkserver-meteor.git packages/turkserver
```

3. `meteor add mizzao:turkserver` to install the package and its dependencies.
4. Start your app with the `meteor` command.
5. Navigate to `/turkserver` to log into the administration interface, and
Expand Down Expand Up @@ -65,23 +68,6 @@ Note that this paper doesn't refer to the latest version of the system, but it
is the same core idea. We plan to publish an improved paper detailing the
methods behind TurkServer in the near future.

## Testing

Clone this entire repository:

```
git clone https://github.com/TurkServer/turkserver-meteor.git turkserver
```

Then run the tests:

```
cd turkserver
meteor test-packages ./
```

If you checked out the repository into an existing Meteor app, you can run `meteor test-packages turkserver` from your app instead.

Browse to `http://localhost:3000` to run the tests.
## Developing and Contributing

You don't have to run the tests yourself; this project is set up for continuous integration on [Travis CI](https://travis-ci.org/TurkServer/turkserver-meteor), which runs these tests on each commit.
See [more information about contributing](Contributing.md).
Loading

0 comments on commit 3d8b88d

Please sign in to comment.