A place to describe schemas for data and APIs for services for the project.
We propose to use JSON Schemas to describe data - specifically the 2020-12 version.
The benfits of this approach are because the JSON format:
- Describes your existing data format(s).
- Provides clear human- and machine- readable documentation.
- Validates data which is useful for:
- Automated testing.
- Ensures quality of client submitted data.
There is a great guide for JSON Schemas here.
The JSON schemas in this library are compiled using pydantic
model builder in Python, which provides a terse API for JSON schema construction.
This also allows an entity-relationship diagram to be generated.
- Install Python 3 (tested on
3.10
) and Poetry - Run
poetry install
to install dependencies - Run
make
to build the schemas and documentation
- Add remaining core schemas (especially for TA2 and TA3)
- Add basic schemas for feedback data (validation and correction modalities)
- More comprehensive documentation
- Information about file formats and other data-handling infrastructure
- Work with TA1-3 to solidify and adjust schemas
- Create a changelog