GSA-TTS / forms

Friendly government forms for everyone.
https://federalist-9ab3a388-1535-4bd5-a4bf-04c7933172d6.sites.pages.cloud.gov/site/gsa-tts/forms/
7 stars 1 forks source link

10x Forms Platform

Test bed for 10x forms tooling, completed as part of the 10x Forms Platform project.

Overview

A C4-like architectural diagram is available here.

Additional documentation:

Overview

The platform is made up of the following high-level terms.

Key personas

Things

Development

This project uses the version of Node.js defined in .nvmrc. To ensure you're using the correct node version, you may use the Node Version Manager (NVM):

nvm install

This project uses pnpm workspaces. To work with this project, install pnpm and then the project dependencies:

pnpm install

To install the browsers needed for the Storybook testing with @vitest/browser, you need to do a one-time install with pnpm dlx playwright@1.48.1 install --with-deps. This command also needs to be run when Playwright is updated because it requires version parity to find the executables across the local dev environment and CI to get all the tests to pass. To run the complete test suite, with coverage metrics generated:

pnpm test

To run tests, you will need to have either Podman or Docker Desktop installed to enable PostgreSQL to start in a container before the tests execute. While we support both Docker and Podman, we recommend using Podman as a free alternative. For detailed setup instructions, refer to the Podman Desktop Integration guide.

To run tests in watch mode (except the infra tests, which use Jest):

pnpm vitest

To start developing with hot reloading, use:

pnpm build

then run:

pnpm dev

These local servers will be started:

To lint the source code:

pnpm lint

Command-line interface

A command-line interface is provided for manually running operations. The corresponding app resides in ./apps/cli. A wrapper script, in the root directory, is provided.

./manage.sh --help