Northwestern University Core Facility Management Software (NUCore)
Clone or download
jhanggi Account facility rename single cross methods (#1836)
# Release Notes

Tech task: Rename Account `single_facility?` and `cross_facility?` methods to better describe their new behavior.
Latest commit bbfba43 Jan 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Add globstar option when running specs on CircleCI (#1798) Dec 12, 2018
app Account facility rename single cross methods (#1836) Jan 16, 2019
bin Use master as default base for merge_describer (#1799) Dec 13, 2018
config [#137738] Total cost on pages (#1830) Jan 16, 2019
db [#144419] Make Account-Facility relationship Many-to-Many (#1829) Jan 16, 2019
doc Use oracle/ in local directory for Oracle DB data (#1769) Nov 15, 2018
docs Create CONTRIBUTING.md (#1451) Mar 19, 2018
lib [#137686] Report an issue (#1813) Jan 2, 2019
public [#88660] Update bulk order template to include notes Nov 19, 2014
script Tech task: Rubocop: Frozen string literal (#1665) Aug 28, 2018
spec Account facility rename single cross methods (#1836) Jan 16, 2019
tmp Ensure tmp exists at app root, and use it (#575) May 6, 2016
vendor Account facility rename single cross methods (#1836) Jan 16, 2019
.codeclimate.yml Upgrade Rubocop to 0.58 (#1658) Aug 20, 2018
.csslintrc Add CSS and CoffeeScript linter configs (#503) May 2, 2016
.gitignore Use oracle/ in local directory for Oracle DB data (#1769) Nov 15, 2018
.haml-lint.yml Disable UnnecessaryStringOutput haml linter (#1131) Jun 26, 2017
.haml-lint_todo.yml [#140406] Remove old filtering code (#1505) Apr 17, 2018
.rspec Upgrade to RSpec 3.3 Sep 21, 2015
.rubocop-txi.yml Update rubocop (#1512) Apr 20, 2018
.rubocop.yml Tech task: Rubocop: Frozen string literal (#1665) Aug 28, 2018
.rubocop_todo.yml Rubocop: Auto correct single to double quotes (#1706) Sep 21, 2018
.ruby-version [#132541, #136148] update ruby to 2.4 (#1150) Jul 10, 2017
Capfile Tech task: Rubocop: Frozen string literal (#1665) Aug 28, 2018
Gemfile Upgrade Rails to 5.0.7.1 (#1831) Jan 16, 2019
Gemfile.lock Bump nokogiri from 1.10.0 to 1.10.1 (#1839) Jan 16, 2019
Guardfile Tech task: Rubocop: Frozen string literal (#1665) Aug 28, 2018
LICENSE Task #33697 : Copyright notice Jun 28, 2011
README.md update README to specify ruby 2.4.1 to match the .ruby-version file (#… Dec 10, 2018
Rakefile Tech task: Rubocop: Frozen string literal (#1665) Aug 28, 2018
coffeelint.json [#137282] Add timed service to existing order (#1215) Sep 11, 2017
config.ru Tech task: Rubocop: Frozen string literal (#1665) Aug 28, 2018

README.md

NUcore Open

Open source version of Northwestern University Core Facility Management Software

Quickstart

Welcome to NUcore! This guide will help you get a development environment up and running. It makes a few assumptions:

  1. You write code on a Mac.
  2. You have a running Oracle or MySQL instance with two brand new databases. (Oracle setup instructions here.)
  3. You have the following installed:

Spin it up

  1. Download the project code from Github

    git clone git@github.com:tablexi/nucore-open.git nucore
    
  2. Install dependencies

    cd nucore
    bundle install
    
  3. Configure your databases

    cp config/database.yml.mysql.template config/database.yml
    

    Edit the adapter, database, username, and password settings for both the development and test DBs to match your database instance

  4. Configure your secrets

cp config/secrets.yml.template config/secrets.yml
rake secret
  • Paste the output from rake secret into config/secrets.yml for both development/secret_key_base and test/secret_key_base
  1. Set up databases

    rake db:setup
    
  2. Seed your development database

    rake demo:seed
    
  3. Configure your file storage

    By default, files are stored on the local filesystem. If you wish to use Amazon's S3 instead, create a local settings override file such as config/settings/development.local.yml or config/settings/production.local.yml and include the following, substituting your AWS settings:

    paperclip:
      storage: fog
      fog_credentials:
        provider: AWS
        aws_access_key_id: YOUR_S3_KEY_GOES_HERE
        aws_secret_access_key: YOUR_S3_SECRET_KEY_GOES_HERE
      fog_directory: YOUR_S3_BUCKET_NAME_GOES_HERE
      fog_public: false
      path: ":class/:attachment/:id_partition/:style/:safe_filename"
    
  4. Start your server

    bin/rails s
    
  5. Log in

    Visit http://localhost:3000

    demo:seed creates several users with various permissions. All users have the default password of password

    Email/username Role
    admin@example.com Admin
    ppi123@example.com PI
    sst123@example.com Normal User
    ast123@example.com Facility Staff
    ddi123@example.com Facility Director
  6. Play around! You're running NUcore!

  7. Run delayed_job to support in-browser email previews.

    Run delayed jobs indefinitely in the background:

    ./script/delayed_job start
    

    Or run delayed jobs once for one-off jobs:

    ./script/delayed_job run
    

Test it

NUcore uses Rspec to run tests. Try any of the following from NUcore's root directory.

  • To run all tests (this will take awhile!) rake spec

  • To run just the model tests rake spec:models

  • To run just the controller tests rake spec:controllers

Optional Modules

The following modules are provided as optional features via Rails engines. These are enabled by adding the appropriate engine to your Gemfile (all are on by default). They exist in the vendor/engines directory.

Engine-specific migrations should live in the engine's db/migrate directory and use an engine initializer to add that path to the list of paths Rails checks. If you need to disable an engine, you can undo all of the engine's migrations with the rake engines:db:migrate_down[ENGINE_NAME] task.

Learn more

There are valuable resources in the NUcore's doc directory.