Skip to content

Commit 216e815

Browse files
committed
add foundational knowledge
1 parent 39560f0 commit 216e815

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

docs/GETTING_STARTED.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,19 @@
88

99
## Foundational knowledge
1010

11-
TODO
11+
DXT's forms engine is a plugin for a frontend service, which allows development teams to construct forms using configuration and minimal code. Forms are closely based on the knowledge, components and patterns from the GDS Design System. Forms should remain as lightweight as possible, with business logic being implemented in a backend/BFF API and DXT used as a simple presentation layer.
12+
13+
You should aim, wherever possible, to utilise the existing behaviours of DXT. Our team puts a lot of effort into development, user testing and accessibility testing to ensure the forms created with it will be consistently high quality across the entire organisation. Where your team introduces custom behaviour, for example custom components, custom pages, this work will need to be done by your team. Where possible, favour fixing something upstream in the plugin so many teams can benefit from the work we do. Then, if you still need custom behaviour - go for it!
14+
15+
When developing new things with DXT, you should favour development using the below priority order. This will ensure your team is writing the minimum amount of code, focusing your efforts on custom code where the requirements are niche and there is value.
16+
17+
1. Use out-of-the box DXT components and page types (components, controllers)
18+
2. Use configuration-driven advanced functionality to integrate with backends and dynamically change page content (page events, page templates)
19+
3. Use custom views and page controllers to implement highly tailored and niche requirements (custom Nunjucks, custom Javascript)
20+
21+
### Contributing back to DXT
22+
23+
When you build custom components and page types, they might be useful for other teams in Defra to utilise. For example, many teams utilise the CPH number and would benefit from a component to validate this number, rather than it sitting only in your codebas for just your team. See our [contribution guide](./CONTRIBUTING.md) to learn how to contribute code back to DXT.
1224

1325
## Step 1: Add forms-engine-plugin as a dependency
1426

0 commit comments

Comments
 (0)