Summary
Create lower-level code documentation for the Check and Provide service in the docs/ folder of the main repository.
The documentation should be organised into subfolders for each user process handled by the service.
Description
Document how the Check and Provide service works at code level so developers can understand, maintain and extend it without tracing the full codebase.
All documentation must be stored in the main repository under:
Within the docs/ folder, create a separate subfolder for each user process handled by the service. This should include, at a minimum:
docs/
├── check-data/
└── submit-data/
Additional subfolders should be created for any other user processes identified during the documentation work.
The documentation should explain the complete flow from checking data through to submitting it, including:
- The purpose of the Check and Provide service.
- The difference between the check process and the submit process.
- The user journey or trigger for each process.
- The main application components and entry points.
- The end-to-end code flow.
- The middleware chain and the order in which middleware is applied.
- Data inputs, transformations and outputs.
- Validation and error handling.
- Supporting Datasette queries and datasets.
- Relevant configuration.
- Internal and external dependencies.
- Supporting services and repositories.
- Important modules, classes and functions.
- Testing and local development guidance.
The documentation should also explain how shared Digital Land dependencies, such as Digital Land Python and configuration repositories, are used by each process.
Existing documentation for the Submit service should be reviewed and reused, updated or linked where appropriate.
A top-level document should be added to docs/ to provide an overview of the Check and Provide service and link to each user-process subfolder.
Suggested Structure
docs/
├── README.md
├── check-data/
│ ├── README.md
│ ├── code-flow.md
│ ├── middleware.md
│ ├── dependencies.md
│ ├── datasette-queries.md
│ └── testing.md
├── submit-data/
│ ├── README.md
│ ├── code-flow.md
│ ├── middleware.md
│ ├── dependencies.md
│ ├── datasette-queries.md
│ └── testing.md
└── other-user-process/
└── README.md
The exact file structure may be adjusted where necessary, but documentation must remain grouped by user process.
Acceptance Criteria
- A
docs/ folder exists in the main Check and Provide service repository.
- A top-level
docs/README.md provides an overview of the service and links to all documented user processes.
- Each user process handled by the service has its own subfolder under
docs/.
- At minimum, separate documentation exists for the check and submit processes.
- Each process documents its purpose, trigger and end-to-end code flow.
- The distinction between the check process and submit process is clear.
- The middleware chain is documented in execution order.
- Main components, entry points, modules and functions are identified.
- Data inputs, transformations and outputs are documented.
- Validation and error handling are documented.
- Supporting Datasette queries and datasets are identified and explained.
- Internal and external dependencies are identified and explained.
- The use of shared Digital Land Python packages and configuration repositories is documented.
- Existing Submit service documentation has been reviewed and incorporated or linked where appropriate.
- Relevant source files, repositories and configuration files are linked.
- Testing and local development guidance is included where applicable.
- Additional user processes discovered during the work are documented in separate subfolders.
- The documentation has been reviewed by a developer familiar with the Check and Provide service.
- All documentation is committed to the main repository.
Summary
Create lower-level code documentation for the Check and Provide service in the
docs/folder of the main repository.The documentation should be organised into subfolders for each user process handled by the service.
Description
Document how the Check and Provide service works at code level so developers can understand, maintain and extend it without tracing the full codebase.
All documentation must be stored in the main repository under:
Within the
docs/folder, create a separate subfolder for each user process handled by the service. This should include, at a minimum:Additional subfolders should be created for any other user processes identified during the documentation work.
The documentation should explain the complete flow from checking data through to submitting it, including:
The documentation should also explain how shared Digital Land dependencies, such as Digital Land Python and configuration repositories, are used by each process.
Existing documentation for the Submit service should be reviewed and reused, updated or linked where appropriate.
A top-level document should be added to
docs/to provide an overview of the Check and Provide service and link to each user-process subfolder.Suggested Structure
The exact file structure may be adjusted where necessary, but documentation must remain grouped by user process.
Acceptance Criteria
docs/folder exists in the main Check and Provide service repository.docs/README.mdprovides an overview of the service and links to all documented user processes.docs/.