department-of-veterans-affairs / va-forms-system-core

VA Forms System Core will be a React library hosted in NPM that will allow engineers and designers to easily interact with Forms inside of vets-website.
https://department-of-veterans-affairs.github.io/va-forms-system-core/
6 stars 4 forks source link
inner-source

VA Forms System Core

Welcome to the VA.gov Forms Library

VA Forms System Core (VAFSC) is the second generation of the forms library which is built using React, Formik, and Typescript.

What is the forms library?

The forms library is the current production system that most forms are built with inside of vets-website. This legacy system uses a forked version of React JSON Schema Form (RJSF) and a config based approach to designing and developing forms. Although this system worked well up to this point, VAFSC will be a major improvement by incorporating React components and giving engineers and designers the power back that RJSF did not allow for.

NPM Package: NPM va-forms-system-core

Github Pages: VA Forms System Core Github Pages

VAFSC will include but not limited to:

Prerequisites

  1. Nodejs/NPM
    • run nvm use to install and use proper node version
  2. Yarn

Quick start

Once you have the prerequisites downloaded you are ready to get the project built.

First you need to install all of the packages and their dependancies by running:

Examples

Run the examples in this repo with:

yarn serve-examples

To create new example:

Documentation

We have documentation in /docs that is hosted using GitHub Pages.

To update the document references run:

yarn build

To run the Jekyll site locally, run the following commands:

cd docs
bundle install
bundle exec jekyll serve

Continuous Integration

There are 3 github actions currently but more will be added in the future.

  1. codeql-analysis
  2. testing
  3. npm-publish

The design document

For more information about the purpose and architecture of this library, check out the design document.

The design document is intended to be a living document, so if you find it doesn't accurately reflect reality, please open an issue or submit a PR.