Builds | GPA | Go | Accessibility | |
---|---|---|---|---|
Release | ||||
Staging |
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:
- Understand what people need
- Address the whole experience, from start to finish
- Make it simple and intuitive
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
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
Once cd
'd into the cloned repository (and having created a .env
file):
$ docker-compose up
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
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.
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
.
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
.
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 stylesheetsfonts/
contains the fonts used in the applicationimg/
contains the images used in the application
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
Please refer to the contributing documentation.