Builds | Coverage | GPA | Go | |
---|---|---|---|---|
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
- Project Management
- Getting to know the code
- Docker containers
- Architectural diagram
- Additional
- Contributing
The project team utilizes GitHub Projects as an in integrated project management tool to administer User Stories, Tasks, and Sprints.
- Board/Backlog - The Product Backlog can be viewed in the GitHub Project Board along with the items being worked on in the current sprint
- Milestones/Sprints - Sprint durations are defined using GitHub Milestones, and backlog items (issues) worked on in a given sprint are tagged with a Milestone.
- Epics/User Stories - GitHub issues are tagged with the "Epic" tag to denote the issue as a User Story
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
To view the items completed during each development sprint and to view the burndown charts for each respective sprint, please visit the Sprint Backlogs page.
For more information on licenses and third-party source code please refer to the dependencies documentation.
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
For more information on the various settings, examples, and values please refer to the configuration documentation.
To avoid manually running separate commands for setup, building, and testing you can instead execute:
make
Configure prerequisites using:
make setup
Compiling all of the assets can be done simply using the command:
make build
To make a single pass through the test suite use the command:
make test
make coverage
To run a local server we are using docker containers leveraging the docker-compose tool via the command:
make run
Then direct your browser at http://localhost:8080. The access the site in development use the username test01
and password password01
.
Container | Image |
---|---|
api | Dockerfile.api |
db | postgres:9.6.5 |
web | nginx:alpine |
frontend | node:8.5.0 |
The IdAM solution is not part of this project.
There are several possible architectures which may be implemented. The diagram references one of those possible solutions and highlights the basic flow of data within the system. It also demonstrates integration with external systems (e.g. identity services) which are not part of this project but may be part of the overall system.
Running the feature specifications is an on-demand process and can be ran using:
make specs
For additional information on how to perform the feature specification automated UI test suite, visit Spec Test.
To generate documentation from the source code and database schema type:
make docs
All of the documentation may then be found in the respective directories under doc/
.
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.