department-of-veterans-affairs/caseflow-efolder

Name: caseflow-efolder

Owner: Department of Veterans Affairs

Description: Tool for bulk download of efolder claim files

Created: 2016-01-21 19:08:28.0

Updated: 2018-05-23 03:21:08.0

Pushed: 2018-05-23 21:14:46.0

Homepage: null

Size: 12260

Language: Ruby

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Caseflow - eFolder Express

Build Status

About

FOIA Requests that give veterans access to their own VA files take way too long right now. eFolder Express allows VA employees to download all of a veteran's files in a fraction of the time it currently takes. It will also enable attorneys in the appeals process to use best-in-class legal tools to review these documents and so they can provide excellent service to America's veterans.

Start up your docker based environment

We use docker and docker-compose to mock a production environment locally. Prior knowledge of docker is not required, but slowly learning how docker works is encouraged. Please ask a team member for an overview, and/or slowly review the docs linked.

Your development setup of caseflow currently runs Redis, postgres and OracleDB (VACOLS) in Docker.

Setup your postgres user. Run this in your CLI, or better yet, add this to your shell configuration ~/.bashrc

rt POSTGRES_HOST=localhost
rt POSTGRES_USER=postgres
rt POSTGRES_PASSWORD=postgres

Note: If you previously have had redis and postgres installed via brew and would like to switch to docker, do the following:

 services stop postgresql
 services stop redis

Start all containers

er-compose up -d
n without -d to start your environment and view container logging in the foreground

er-compose ps
is shows you the status of all of your dependencies

Turning off dependencies

is stops all containers
er-compose down

is will reset your setup back to scratch. You will need to setup your database schema again if you do this (see below)
er-compose down -v
First Time Development Setup

You'll need Ruby 2.3.0 if you don't have it.

$ rbenv install 2.3.0

Install dependencies

$ bundle install

Create the database

$ rake db:create

Load the schema

$ rake db:schema:load

Now start both the rails server,

$ rails s

And in a seperate terminal, start a jobs worker

$ bundle exec shoryuken start -q efolder_development_high_priority efolder_development_low_priority efolder_development_med_priority -R

If you want to convert TIFF files to PDFs then you also need to run the image converter service. You can do this by cloning the appeals-deployment repo, navigating to ansible/utility-roles/imagemagick/files and running docker-compose up. By default if this is not running, TIFFs will gracefully not convert.

If you want to test out the DEMO flow (without VBMS connection),

Visit http://localhost:3000, Type in a file number with “DEMO” in it. (ie: “DEMO123”) Watch it download your fake file.

Running Migrations

If a pending migration exists, you will need to run them against both the development and test database:

$ rake db:migrate

$ RAILS_ENV=test rake db:migrate

Running Tests

In order to run tests, you will first need to globally install phantomJS

$ (sudo) npm install -g phantomjs

Then to run the test suite:

$ rake

Monitoring

We use NewRelic to monitor the app. By default, it's disabled locally. To enable it, do:

RELIC_LICENSE_KEY='<key as displayed on NewRelic.com>' NEW_RELIC_AGENT_ENABLED=true bundle exec rails s

You may wish to do this if you are debugging our NewRelic integration, for instance.

Run connected to UAT

First, you'll need a VA machine. Next, you'll need the secrets file. These come from the appeals deployment repo. Run decrypt.sh and source the appropriate secrets environment.

Then you must setup the staging DB. Run:

$ RAILS_ENV=staging rake db:create $ RAILS_ENV=staging rake db:schema:load

Finally, you can run the server and shoryuken. In one tab you can run:

$ rails s -e staging

In a separate tab run:

$ RAILS_ENV=staging bundle exec shoryuken start -q efolder_staging_high_priority efolder_staging_low_priority efolder_staging_med_priority -R

Now when you go to localhost:3000 you'll be prompted with a fake login screen. Use any of these logins to impersonate a UAT user.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.