structurizr / json Goto Github PK
View Code? Open in Web Editor NEWThe JSON schema for describing software architecture models with Structurizr.
License: Apache License 2.0
The JSON schema for describing software architecture models with Structurizr.
License: Apache License 2.0
I'm trying to programmatically parse c4 json to its equivalent dsl, and I can see that functionality already exists on https://structurizr.com/json, so can you please point me in the right direction on how that is implemented and possibly share the library that is used on https://structurizr.com/json to do the conversion.
Not a big deal, but as far as I can tell from the OpenAPI spec documentation, some of the number types are incorrectly described in the structurizr spec.
https://swagger.io/docs/specification/data-models/data-types/#numbers
Basically, any occurrence of
type: number
format: integer
should just be
type: integer
and any occurrence of
type: number
format: long
should be
type: integer
format: in64
Search the OpenAPI spec for format: long
or format: integer
.
No response
No response
No response
Minor
I have no budget and there's no rush, please fix this for free
No response
As discussed on Slack, the new feature that allows assigning values to perspectives, is not documented in the workspace API. In fact, I can't find any mention of perspectives at all.
Since https://github.com/Midnighter/structurizr-python/ is basically a thin client around the workspace API, it will be very interesting to have perspectives in the OpenAPI spec.
Search https://github.com/structurizr/json/blob/master/structurizr.yaml for perspectives.
No response
No response
No response
Minor
I have no budget and there's no rush, please fix this for free
No response
Hi @simonbrowndotje and first of all thanks for all your effort with Diagrams as code & the C4 model.
I recognized while converting the DSL to JSON, the definition of "include *" in the views of the DSL files gets transformed as "real includes" in the JSON file. Can we somehow preserve this "include *" in the JSON schema, so we don't lose this information?
Thanks,
Dominik
Currently in structurizr.yaml, SoftwareSystemInstance
is defined (line 421 onwards) as:
SoftwareSystemInstance:
type: object
description: An instance of a software system, running on a deployment node.
properties:
id:
type: string
description: The ID of this software system instance in the model.
containerId:
type: string
description: The ID of the software system this is an instance of.
instanceId:
type: number
description: The number/index of this instance.
....
I would have thought that the containerId
property should actually be softwareSystemId
.
When using tooling to generate TypeScript types, it makes every field optional, as there are no fields marked as required.
I have no budget and there's no rush, please add this feature for free
No response
Contrary to the specification in structurizr.yaml
, the id of a workspace is saved as a number instead of a string in the JSON file.
workspace "Getting Started"
"id": 1,
and should be "id": "1",
No response
No response
No response
Minor
I have no budget and there's no rush, please fix this for free
No response
Hi @simonbrowndotje, would it be possible to get a JSON example here to match groups.dsl?
Hey Simon, I just did see the attribute "default tags" in the JSON generated by structurizr/lite. Is this maybe missing in the OpenAPI document and how does this attribute behave? Thanks, Dominik
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.