TaxonWorks is Ruby on Rails application that facilitates biodiversity informatics research. More information is available at taxonworks.org. The codebase is in active development. At present only models are available (i.e. all interactions are through a command-line interface).
TaxonWorks is a Rails 4 application using Ruby 2.0 and rubygems. It requires PostgreSQL with the postgis extension. The core development team is using rvm and brew to configure their environment on OS X.
Minimally, the following steps are required. If you have postgres installed skip to 3.
-
Install Postgres and postgis.
brew install postgres brew install postgis brew install imagemagick
-
To start postgres follow the instructions via 'brew info postgres'. The following sets postgres to start at logon, and then starts postgres for this session.
mkdir -p ~/Library/LaunchAgents # This may already exist. ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
-
Clone the source code.
git clone git@github.com:SpeciesFileGroup/taxonworks.git
-
Copy the config/database.yml.example file to config/database.yml.
-
Given not modifications to database.yml you can proceed by creating a postgres role (user).
psql -d postgres create role taxonworks_development login createdb superuser; \q
-
Install the gems dependencies. Ensure you are using the Ruby version you indend to develop under (check with 'ruby -v'). Install the pg gem with some flags first, then the rest of the gems.
env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
bundle update
- Setup the databases.
rake db:create
rake db:migrate RAILS_ENV=test
rake db:migrate RAILS_ENV=development
- Test your setup.
rspec
If the tests run, then the installation has been a success. You'll likely want to go back and further secure your postgres installation and roles at this point.
TaxonWorks has a wiki for conceptual discussion and aggregating long term help, it also includes a basic roadmap. There is a developers list for technical discussion. Code is documented inline using Yard tags, see rdoc. Tweets come from @TaxonWorks. A stub homepage is at taxonworks.org.
TaxonWorks is open source, a decision on the licence to be used is pending, it will likely be MIT or nearly identical.