Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
.gitignore
README.md
answers.json
mkdb.sh
srvdb.py
turk-client.py
turk-server.py
turk.schema
util.py
worktemplate.json
worktmp.py

README.md

turk - Mechanical Turk service

WARNING: Untested code ahead. Needs lots of testing.

Summary: API for automating and comparing work by human(?) workers.

How it works:

  1. Supervisor submits an image, and a list of questions about an image. A minimum number of workers, and a bitcoin reward, is specified.

  2. Workers download the image, answer the question(s), submit results.

  3. API collects work. When X workers have submitted answers, they are compared for matches. The most matches - most accurate - workers receive the reward.

Status: Final compare-work-and-perform-payouts step is UNTESTED. All else works.

First time setup

$ ./mkdb.sh

Running the server

$ python3 turk-server.py

API

  1. Get task to work on

HTTP URI: GET /task/

Params:

Result:

Pricing:

  1. Submit work to supervisor

HTTP URI: POST /task

Params:

In HTTP body, a application/json document containing the following keys:

Result:

Pricing:

  1. Get list of tasks

HTTP URI: GET /tasks.list

Params:

None

Result:

application/json document with the following data:
(or an HTTP 4xx, 5xx error)

Pricing:

  1. Supervisor creates new task to receive work

HTTP URI: POST /task.new

Params:

In HTTP body, a application/json document containing the following keys:

Result:

application/json document with the following data: true
(or an HTTP 4xx, 5xx error)

Pricing:

  1. Register as new worker to receive tasks

HTTP URI: POST /worker.new

Params:

In HTTP body, a application/json document containing the following keys:

Result:

application/json document with the following data: true
(or an HTTP 4xx, 5xx error)

Pricing: