This Rails application is a light-weight LIMS that seeks to provide a solution for as low-friction as possible biomaterial tracking and annotation. The domain problem does not leave you much room to be completely frictionless, but we strive to minimize busy work and maximize utility.
The application itself has documentation on usage, refer to Help page. This document is mainly concerned about the underlying engineering of the application.
For the labeling, we modified and minimalised the SPS server by Vitale et al. This version is available at github.
- Linux
- Mac OS
- Windows (not tested)
The site depends on two core technologies:
Instructions for CentOS setup:
yum install postgresql93-server
#install redis-server
rvm install ruby-1.9.3-p448
gem install railsLike you would any other Rails application.
cd $RAILS_ROOT
bundle
Make sure Apache, Postgres, Redis-server and Rails-server are running.
#Apache and postgresql are set to (re)start automatically (in our server).
#service httpd start
#service postgresql-9.3 start
service redis_6379 start
rails server --port 3001 -d
bundle exec sidekiq -q high,5 default -d -L log/sidekiq.log
We use the configulations gem as a simple method of passing environment variables to the application.
Authentication is handled using the Oauth 2 protocal, via OmniAuth gem and the omniauth-basecamp strategy.
Authorization uses the CanCan gem.
Background processing is accomplished using Sidekiq
You can see the processing queue and other Sidekiq information in the dashboard at root_url()/sidekiq. Note: you need to be logged in first.
We are taking advantage of PostgreSQL's native full-text-search capabilities, by using the pg_search gem.
We use Doorkeeper as an oauth provider for the application.
Ancestry is handled with ancestry and acts-as-dag.
We use paper_trail to track the changes to the models' data.
- Dimitra Sarantopoulou
- Anand Srinivasan
- Angel Pizarro
Under MIT License