Add documentation on the data model behind the tech radar

Signed-off-by: Joost Hofman <joost.hofman@ah.nl>
This commit is contained in:
Joost Hofman
2023-04-20 19:20:29 +02:00
parent fdf09de40d
commit 2749b060f5
+121
View File
@@ -67,6 +67,127 @@ export interface TechRadarPageProps {
When defining the radar entries you can see the available properties on the file [api](./src/api.ts)
## Tech radar data model
| Name | Type | Description | Required? |
| --------- | ----------------------- | -------------------------------------------------------------------- | --------- |
| title | string | The title of the radar | Yes |
| quadrants | [quadrant[]](#quadrant) | The 4 quadrants of the radar, clockwise starting at the bottom right | Yes |
| rings | [ring[]](#ring) | The radar rings, starting from the inside | Yes |
| entries | [entry[]](#entry) | The radar entries | Yes |
### quadrant
| Name | Type | Description | Required? |
| ---- | ------ | ------------------------ | --------- |
| id | string | The id of the quadrant | Yes |
| name | string | The name of the quadrant | Yes |
### ring
| Name | Type | Description | Required? |
| ----- | ------ | ------------------------------------------------- | --------- |
| id | string | The id of the ring | Yes |
| name | string | The name of the ring | Yes |
| color | string | The color of the ring and entries inside the ring | Yes |
### entry
| Name | Type | Description | Required? |
| ----------- | ----------------------- | ----------------------------------------------- | --------- |
| id | string | The unique id from the entry | Yes |
| title | string | The title that is shown in the radar | Yes |
| description | string | The full description of the entry | No |
| key | string | The entry key | Yes |
| url | string | The url to the entry internal or external page | No |
| quadrant | string | The name of the quadrant connected to the entry | Yes |
| timeline | [timeline[]](#timeline) | Requires minimal one timeline entry | Yes |
### timeline
| Name | Type | Description | Required? |
| ----------- | ------ | ------------------------------------------------------------- | --------- |
| moved | number | Possible values are: -1 (moved out), 0 (stayed), 1 (moved in) | Yes |
| ringId | string | The ring id | Yes |
| date | string | Date in format (YYYY-MM-dd) | Yes |
| description | string | A long description | Yes |
### Sample
This is a sample on how the JSON file could look like.
The TS example can be found [here](src/sample.ts).
```JSON
{
"title": "Title of your Tech radar",
"quadrants": [
{
"id": "1",
"name": "Bottom right"
},
{
"id": "2",
"name": "Bottom left"
},
{
"id": "3",
"name": "Top left"
},
{
"id": "4",
"name": "Top right"
}
],
"rings": [
{
"id": "adopt",
"name": "ADOPT",
"color": "#93c47d"
},
{
"id": "trial",
"name": "TRIAL",
"color": "#93d2c2"
},
{
"id": "assess",
"name": "ASSESS",
"color": "#fbdb84"
},
{
"id": "hold",
"name": "HOLD",
"color": "#efafa9"
}
],
"entries": [
{
"id": "typescript",
"title": "Typescript",
"description": "Long description for Typescript",
"key": "typescript",
"url": "#",
"quadrant": "1",
"timeline": [
{
"moved": 0,
"ringId": "trial",
"date": "2022-02-06",
"description": "Long description for trial"
},
{
"moved": 1,
"ringId": "adopt",
"date": "2022-02-08",
"description": "Long description for adopt"
}
]
},
...
]
}
```
## Frequently Asked Questions
### Who created the Tech Radar?