- Specifications and components
- Editor
- Publisher
- Runner
- Platform apps
- MoJ Cloud Platform
- Utilities
- Form repos
- Integration Tests
Form Builder JSON Schema specification tools
uses
- fb-utils-node
- eslint-config-fb
Form Builder core component schemas and associated nunjucks macros
uses
- govuk_frontend
- fb-specification
Form Builder Editor
uses
- fb-runner-node
Application that installs the Form Builder Editor locally (along with all its dependencies) and provides a dashboard to create forms and run the editor.
Form Builder User Guide
UI - fb-publisher
git-crypt - fb-publisher-deploy
Deployed on the Cloud Platform in these environments:
Form Builder Runner (Node version)
uses
- fb-user-datastore-client-node
- fb-submitter-client-node
- fb-specification
- fb-nunjucks-helpers
- fb-runtime-node
- fb-utils-node
- eslint-config-fb
This includes:
- User Datastore client
- User Filestore client
- Submitter client
Stores encrypted data entered by users on the Runner forms.
Provides a simple GET/POST JSON API to achieve that.
Stores encrypted files uploaded by users to the Runner forms.
Provides a simple GET/POST JSON API to achieve that.
Provides anti-virus for the filestore. It uses ClamAV under the hood
Once a user on a Runner service has completed their journey, clicking the final Submit button will result in the service sending a request to the Submitter - which asynchronously retrieves the user's information and sends it to where it needs to go.
Provides a simple GET/POST JSON API to achieve that.
This API allows PDFs to be generated from a JSON payload. It uses pdfkit
and wkhtmltopdf
under the hood
Requests between components are signed with private keys and verified with public keys. This service holds the public keys for the various components
Utility scripts to aid deployment of Form Builder platform applications
Transforms edit-time Form Builder service instances into run-time ones
uses
- fb-specification
- fb-utils-node
- eslint-config-fb
Form Builder Nunjucks helper methods
uses
- eslint-config-fb
Form Builder utility methods
uses
- eslint-config-fb
Standard eslint config for Form Builder projects
Example service
Base service to duplicate
Headless browser automation tests, which tests forms in a docker-compose environment