Skip to content

Archivist is a cutting edge tool for documenting data collection in DDI

Notifications You must be signed in to change notification settings

codescrum/archivist

 
 

Repository files navigation

README

Build Status Inline docs Coverage Status Code Climate Issue Stats

Non-Implemented Models

Mapper

  • topic.rb
  • variable.rb
  • map.rb
  • link.rb
  • dataset.rb
  • instruments_datasets.rb

Model Relationship Diagram

Run rails generate_erd to regenerate (must have graphvis).

Configuration

  • Ruby: 2.2.3
  • Rails: >=5.0.0
  • Postgres: >=9.4
  • Redis: 3.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, CDN and database password in the above file
  8. rails db:migrate
  9. Start server: bundle exec puma -C config/puma.rb

This could cause the webserver to start...

Testing

To run the test suite just call rails test. Currently 196 tests and 263 assertions.

Stats

Name Lines LOC Classes Methods M/C LOC/M
Controllers 605 358 27 28 1 10
Jobs 41 38 3 3 1 10
Models 712 614 27 50 1 10
Mailers 12 11 2 1 0 9
Javascripts 2677 2296 0 305 0 5
Libraries 2001 1734 8 88 11 17
Tasks 209 163 0 1 0 161
Controller tests 835 684 18 93 5 5
Model tests 664 488 27 104 3 2
Mailer tests 11 5 2 0 0 0
Total 7767 6391 114 673 5 7
  • Code LOC: 5214
  • Test LOC: 1177
  • Code to Test Ratio: 1:0.2

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.

About

Archivist is a cutting edge tool for documenting data collection in DDI

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 57.8%
  • HTML 20.5%
  • CoffeeScript 19.3%
  • CSS 2.4%