This site 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 site itself has documentation on usage, refer to the About and Help pages. This document is mainly concerned about the underlying engineering of the site.
The site depends on two core technologies:
For development, you will also need to install GraphViz
brew install graphvizIn particular we are taking advantage of PostgreSQL's native full-text-search capabilities. The Rails engines and plugins are itemized in the Gemfile. Both are discussed below.
There are several major subsystems in CollOS. They are described below.
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.
You can find more information about the Sidekiq workers and how to deploy them at the background processing page
TODO: finish this section
Like you would any other Rails application.
cd $RAILS_ROOT
bundle
Then make sure Postgres and redis are running, etc.
We use a few rails plugins in this app