README

Build Status Inline docs Coverage Status Code Climate Issue Stats

Model Relationship Diagram

Configuration

  • Ruby: 2.3.1
  • Rails: 5.0.X
  • Postgres: 9.5.X
  • Redis: 3.2.X

Deployment

Currently Archivist has only been designed to be deployed to Heroku, but rolling your own deployment should not be too difficult.

Deploy

Some basic steps

  1. git clone -b master --single-branch https://github.com/CLOSER-Cohorts/archivist.git
  2. cd archivist
  3. gem install bundler
  4. bundler install
  5. Set the environment variable RAILS_ENV=production (e.g. export RAILS_ENV=production)
  6. Copy config/application.yml.dist to config/application.yml
  7. Set the mailer and database password in the above file
  8. rails db:migrate
  9. Start server: foreman run web

This could cause the webserver to start…

Testing

To run the test suite just call rails test. Currently 197 tests and 256 assertions.

Stats

NameLinesLOCClassesMethodsM/CLOC/M
Controllers1188755347927
Jobs136117101019
Models283515714015438
Mailers12112109
Javascripts41373550043206
Libraries3041235933124317
Tasks3622970000
Controller tests862713189355
Model tests663478309732
Mailer tests1152000
Total13271987516999257

- Code LOC: 8679 - Test LOC: 1196 - Code to Test Ratio: 1:0.1

Archivist Realtime

Archivist is both a module within Archivist and an entirely separate webapp. Archivist-realtime is very slim Node.js app that provides a communications channel between the Redis cache and all active users via websockets (Socket.io). The purpose of this is to be able to lock objects while editing them and to update a users screen as changes are made to an instrument.