Skip to content

dimitras/collos

 
 

Repository files navigation

Collection of Samples (CollOS)


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.

Compatibility

  • Linux
  • Mac OS
  • Windows (not tested)

Technologies

The site depends on two core technologies:

Installation (to be updated)

Instructions for CentOS setup:

yum install postgresql93-server
#install redis-server
rvm install ruby-1.9.3-p448
gem install rails

Like 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

Environment configuration

We use the configulations gem as a simple method of passing environment variables to the application.

Authentication

Authentication is handled using the Oauth 2 protocal, via OmniAuth gem and the omniauth-basecamp strategy.

Authorization

Authorization uses the CanCan gem.

Background Processing

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.

PostgreSQL and Full Text Search

We are taking advantage of PostgreSQL's native full-text-search capabilities, by using the pg_search gem.

Doorkeeper

We use Doorkeeper as an oauth provider for the application.

Ancestry

Ancestry is handled with ancestry and acts-as-dag.

Auditing

We use paper_trail to track the changes to the models' data.

Contributors

  • Dimitra Sarantopoulou
  • Anand Srinivasan
  • Angel Pizarro

License

Under MIT License

About

CollOS : Collection Of Samples - a lightweight sample tracking system

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Ruby 44.6%
  • JavaScript 29.5%
  • HTML 15.9%
  • Python 5.9%
  • CSS 2.8%
  • CoffeeScript 1.3%