srerickson / iterative_learning

Iterative Learning - api and frontend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Iterative Learning (IL)

IL is a web application for conducting iterative/function learning (?) experiments on the web. It also includes Amazon Mechanical Turk integration.

requires ruby version => 2.0, bundler

Installation

Prerequisites

Make sure you have working ruby and gem

$ ruby -v
> ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13]
$ gem -v
> 2.0.14

Install bundler if you don't have it:

gem install bundler

or if you don't have permissions to install system gems:

$ gem install --user-install bundler
$ PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"

General Install

grab the code:

$ git clone https://github.com/srerickson/iterative_learning.git
$ cd iterative_learning

Install dependencies:

$ bundle install

Setup the sqlite database (experiment_data.db)

$ bundle exec rake db:migrate

Create settings config files from supplied sample

$ cp config/settings.sample.yml config/settings.yml

You should change the secret setting in config/settings.yml to something unique to help secure your application.

If you want to use Mechanical Turk to run the experiment, you will need enter your AWS credentials:

$ ruby-aws

Build the provided sample experiment

$ bundle exec rake il:build[example_basic]

Make sure the experiment was successfully generated:

$ bundle exec rake il:list
> loading environment ... 
> Found 1 experiment(s)
> ------------------------------------------
> name: example_basic
> description: This is an example experiment.
> access key: eyJ0eXAiOiJKV1Qi.... 
------------------------------------------

Start the server:

$ bundle exec thin start --port 3000 -R config.ru

Confirm the experiment is running by pointing your browser to:

http://localhost:3000/#/experiment?key=[ACCESS KEY]

(Use the access key listed from the rake il:list command)

Configuration

Experiment configuration files are stored in the experiments/ folder. Several examples are provided.

To create a new experiment, copy one the provided examples and edit as needed.

$ cp experiments/example_basic.yml experiments/your_new_experiment.yml

Then build it:

$ bundle exec rake il:build[your_new_experiment]

If you make changes to the experiment configuration file, you will need to rebuild the experiment to make the changes live. Any collected data will be lost!

To list all built experiments:

$ bundle exect rake il:list

To remove an experiment from the database:

$ bundle exec rake il:remove[your_new_experiment]

About

Iterative Learning - api and frontend


Languages

Language:Ruby 32.8%Language:ApacheConf 29.1%Language:HTML 13.5%Language:CoffeeScript 13.3%Language:JavaScript 9.6%Language:CSS 1.6%