Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/structurizr/json
The JSON schema for describing software architecture models with Structurizr.
https://github.com/structurizr/json
Last synced: 3 months ago
JSON representation
The JSON schema for describing software architecture models with Structurizr.
- Host: GitHub
- URL: https://github.com/structurizr/json
- Owner: structurizr
- License: apache-2.0
- Created: 2020-06-28T10:06:24.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-13T13:43:12.000Z (8 months ago)
- Last Synced: 2024-07-14T12:36:13.245Z (4 months ago)
- Size: 217 KB
- Stars: 19
- Watchers: 5
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - structurizr/json - The JSON schema for describing software architecture models with Structurizr. (others)
README
# Structurizr JSON
This GitHub repository contains the definition of the JSON schema for describing software architecture models based
upon the [C4 model](https://c4model.com),
and is the data storage format used by the [Structurizr tooling](https://docs.structurizr.com).The JSON format is __not__ designed to be authored manually - the [Structurizr DSL](https://docs.structurizr.com/dsl)
is the recommended tool for creating a workspace.* [OpenAPI 3.0 definition ](structurizr.yaml)
* [Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/structurizr/json/master/structurizr.yaml)## Workspace validation rules
In addition to the JSON schema, workspaces are also subject to the following rules, which are implemented by the [Structurizr for Java library](https://github.com/structurizr/java):
- Element and relationship IDs must be unique.
- View `key` and `order` properties must be unique across all views.
- Software and people names must be unique.
- Container names must be unique within the context of a software system.
- Component names must be unique within the context of a container.
- Deployment node names must be unique with their parent context.
- Infrastructure node names must be unique with their parent context.
- All relationships from a source element to a destination element must have a unique description.