Skip to content

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.

Notifications You must be signed in to change notification settings

adhocteam/va-forms-system-core

 
 

Repository files navigation

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:

  • Routing
  • Save In Progress
  • Web Components
  • Accessibility

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:

  • Install

    yarn install
  • Build

    yarn build
  • Watch

    yarn watch

Examples

Run the examples in this repo with:

yarn serve-examples

To create new example:

  • Make an entry file at examples/my-new-example/index.jsx
  • (Optional) Add a new bullet to the directory listing at examples/index.jsx to appear on the home page so other developers can quickly go to it

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.

About

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.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 96.5%
  • JavaScript 3.5%