Skip to content

MelissaBraxton/e-QIP-prototype

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

e-QIP Prototype

Slack

Builds GPA Go Accessibility
Release Build Status Code Climate Go Report Card Accessibility
Staging Build Status Code Climate Go Report Card Accessibility

To create the e-QIP questionnaire prototype, the project team is employing a user-centered design approach leveraging key principles from the U.S. Digital Services Playbook:

  1. Understand what people need
  2. Address the whole experience, from start to finish
  3. Make it simple and intuitive

Table of contents

Project Management

The project team utilizes GitHub Projects as an in integrated project management tool to administer User Stories, Tasks, and Sprints.

GitHub commits can be traced back to their corresponding tasks through commit comments. Commits directly related to a task will be prefixed with the task ID:

truetandem/e-QIP-prototype#issue_number Commit description

Keywords can be used to change the status of the associated issue

Getting to know the code

Clone all things

Clone the repository and cd into it:

mkdir -p $GOPATH/src/github.com/18F
cd $GOPATH/src/github.com/18F
git clone https://github.com/18F/e-QIP-prototype
cd e-QIP-prototype

Then to develop locally, create a .env file:

cp .env.example .env

Docker/docker-compose setup

Once cd'd into the cloned repository (and having created a .env file):

$ docker-compose up

Checking dependencies

For quick development we use yarn but you may use npm as well. Once this has been installed we execute a single command:

yarn install

For dependencies on the backend use glide:

glide install

Building the application

Compiling all of the assets can be done simply using the command:

yarn build

This will compile JavaScript, SASS, and place all files where they need to be. Both versions of JavaScript files (minified and not) are preserved.

Running a local server

To run a local server we are using docker containers leveraging the docker-compose tool:

docker-compose up

Then direct your browser at http://localhost:8080. The access the site in development use the username test01 and password password01.

Executing tests and coverage reports

To make a single pass through the test suite use the command:

yarn test

The individual test results will be seen in the output, and the coverage results may be viewed after running yarn test.

Packaging Application

To package up the application, use the command:

yarn build

This will generate the following file structure:

dist/
   css/
   fonts/
   img/
   eqip.min.js
   index.html

where

  • css/ contains the production ready stylesheets
  • fonts/ contains the fonts used in the application
  • img/ contains the images used in the application

Tooling

Linters

For Ninjas (Vim) just install syntastic and everything should be handled. For Pirates (Emacs) just install flycheck and everything should be handled.

For command-line alternatives there are the following:

  • For JavaScript, JSHint which may be installed with yarn add jshint
  • For HTML, html-lint which may be installed with yarn add html-lint

Contributing

Please refer to the contributing documentation.

About

A prototype for the e-QIP form. For more information: https://github.com/18F/bpa-opm-eqip

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 78.5%
  • Go 14.6%
  • CSS 4.7%
  • API Blueprint 1.5%
  • HTML 0.3%
  • Shell 0.3%
  • Gherkin 0.1%