README.md in cellect-server-0.1.2 vs README.md in cellect-server-0.1.3

- old
+ new

@@ -1,19 +1,57 @@ -# Cellect [![Build Status](https://travis-ci.org/zooniverse/Cellect.svg?branch=master)](https://travis-ci.org/zooniverse/Cellect) +# Cellect -This is a work in progress +A scalable subject selector for [Panoptes](https://github.com/zooniverse/panoptes) +[![Build Status](https://travis-ci.org/zooniverse/Cellect.svg?branch=master)](https://travis-ci.org/zooniverse/Cellect) +[![Test Coverage](https://codeclimate.com/github/zooniverse/Cellect/badges/coverage.svg)](https://codeclimate.com/github/zooniverse/Cellect) +[![Code Climate](https://codeclimate.com/github/zooniverse/Cellect/badges/gpa.svg)](https://codeclimate.com/github/zooniverse/Cellect) +[![Gem Version](https://img.shields.io/gem/v/cellect.svg)](https://rubygems.org/gems/cellect) + +Available as + - [cellect-server](https://rubygems.org/gems/cellect-server) + - [cellect-client](https://rubygems.org/gems/cellect-client) + - [cellect](https://rubygems.org/gems/cellect)(combined) + +## Cellect::Server + +An actor based system that provides an API around subject selection actions. Server nodes are discovered via [ZooKeeper](http://zookeeper.apache.org/). + +### Cellect::Server::Adapters + +[An adapter](lib/cellect/server/adapters/default.rb) provides an API for defining the data to be used with the system. + +We're overriding the default adapter with a customization in [cellect_panoptes](https://github.com/zooniverse/cellect_panoptes). + + +## Cellect::Client + +Provides a mix of asynchronous and synchronous operations for server awareness and API communication. + + ## Building -1. Install [Boost V1.55](http://www.boost.org/): OS X: `brew update && brew install boost`, Ubuntu: `sudo apt-get update && sudo apt-get install libboost-all-dev` +1. Install [Boost V1.55+](http://www.boost.org/): OS X: `brew update && brew install boost`, Ubuntu: `sudo apt-get update && sudo apt-get install libboost-all-dev` 2. Install gem dependencies: `bundle` (See Note) ### Note -To install rice your Ruby must be compiled with shared libraries enabled, from the rice docs: +To install rice your Ruby must be compiled with shared libraries enabled, from the rice docs: * rvm: `rvm reinstall [version] -- --enable-shared` * rbenv: `CONFIGURE_OPTS="--enable-shared" rbenv install [version]` ## Testing +* You'll need a local Zookeeper server to run the specs (they will auto start / stop the server for you). + * `brew install zookeeper` + * Note: this may require a Java Runtime (JRE) install, `brew cask install java` + Run the specs with `rake` + +## Start server: + +`rackup # uses config.ru file` + +## Versions + +See .travis.yml for supported ruby versions