Skip to content

A prototype for the e-QIP form. Information from original 2016 Agile BPA Task Order : https://github.com/18F/bpa-opm-eqip

License

Notifications You must be signed in to change notification settings

bpdesigns/e-QIP-prototype

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

e-QIP Prototype

Slack

Builds Coverage GPA Go
Release Build Status codecov Code Climate Go Report Card
Staging Build Status codecov Code Climate Go Report Card

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.

  • 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

Sprint Backlogs

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.

Getting to know the code

Dependencies

For more information on licenses and third-party source code please refer to the dependencies documentation.

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

For more information on the various settings, examples, and values please refer to the configuration documentation.

Running the application

To avoid manually running separate commands for setup, building, and testing you can instead execute:

make

Setup

Configure prerequisites using:

make setup

Building the application

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

make build

Executing tests and coverage reports

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

make test
make coverage

Running a local server

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.

Docker containers

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.

Architectural diagram

eapparchitecture

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.

Additional

Feature specifications

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.

Generating Documentation

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/.

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. Information from original 2016 Agile BPA Task Order : https://github.com/18F/bpa-opm-eqip

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 79.2%
  • Go 17.6%
  • CSS 2.0%
  • Gherkin 0.4%
  • Makefile 0.3%
  • API Blueprint 0.2%
  • Other 0.3%