A YAML-configured grant application form engine built on Node.js, Hapi, and the DXT Forms Engine. Supports multiple grant types with Defra ID authentication, task lists, save-and-return, and submission to GAS.
nvm use
npm ci
npm run devOr with Docker:
npm run docker:upThe Grants UI service provides a comprehensive set of features for building grant application forms. Key features include:
- Form Components: 13 different input components (TextField, RadiosField, CheckboxesField, etc.)
- Page Types: Summary, Declaration, Confirmation, Terminal, and Conditional pages
- Guidance Components: Html, Details, InsetText, Markdown, and List components
- Authentication: Defra ID integration with whitelist support
- Conditional Logic: Dynamic page routing and content display
- Validation: Custom validation messages and schema validation
- Configuration: YAML-based form definitions with confirmation content
For complete documentation of all available features, see FEATURES.md.
| Document | Description |
|---|---|
| Getting Started | Requirements, setup, environment variables, project structure, npm scripts |
| Architecture | Forms engine, state model, task lists, GAS integration, confirmation pages |
| Features | Form components, page types, guidance, conditional logic, validation |
| Authentication & Security | Defra ID, whitelist, cookies, sessions, S2S auth, rate limiting |
| Docker | Development/production images, Docker Compose, HA proxy, debugging |
| Testing | Unit, integration, contract, acceptance, performance, and mutation testing |
| Logging & Error Handling | Structured logging system, error classes, log codes |
| Analytics | Google Analytics 4 tracking configuration |
| Consolidated View API | DAL GraphQL endpoint and configuration |
| Development Tools | Dev routes, demo pages, journey runner |
| Utility Scripts | Form upload tool, cookie unsealing utility |
| Payment Architecture | Payment page controllers, strategies, and configuration |
THIS INFORMATION IS LICENSED UNDER THE CONDITIONS OF THE OPEN GOVERNMENT LICENCE found at:
http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3
The following attribution statement MUST be cited in your products and applications when using this information.
Contains public sector information licensed under the Open Government license v3
The Open Government Licence (OGL) was developed by the Controller of Her Majesty's Stationery Office (HMSO) to enable information providers in the public sector to license the use and re-use of their information under a common open licence.
It is designed to encourage use and re-use of information freely and flexibly, with only a few conditions.