C4-PlantUML
c4-notation
Our great sponsors
C4-PlantUML | c4-notation | |
---|---|---|
23 | 125 | |
5,948 | 25 | |
2.0% | - | |
7.1 | 10.0 | |
6 days ago | over 4 years ago | |
PlantUML | ||
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
C4-PlantUML
-
Documentation as Code for Cloud - C4 Model & Structurizr
C4-PlantUML: Export your model as C4-PlantUML diagrams.
-
Which tools do you use to create diagrams?
PlantUML + C4 plugin;
-
Add quick sketches in emacs org mode
Yes. I use this all the time for software diagramming. With c4 model (https://github.com/plantuml-stdlib/C4-PlantUML) and AWS icons (https://github.com/awslabs/aws-icons-for-plantuml)
-
Architecture diagrams should be code
The C4 model (https://c4model.com/) is great for architecture diagrams. You can use different tools to generate them. Here are the ones I've been using:
- D2 language, open source alternative to PlantUML
- Keep your diagrams updated with continuous delivery
-
C4 model for system architecture design
3️⃣ Text-based diagramming- C4-PlantUML
-
Ask HN: Confluence Alternative(s) Supporting Markdown?
> onboarding docs
yes, they're don't changing frequently
> system design docs
yes - see C4-PlantUML[1]
> meeting notes
no, unless they're directly code related like ADRs [2,3].
Although one can abuse Github Issues + comments for this, in my opinion it's better to use modern SaaS tools for this, i.e. Loom, Descript, Linear.app, etc. - you can automate this process, e.g. transcribe the meeting's recording and add the issue/repo using Github Actions.
--
[1] https://github.com/plantuml-stdlib/C4-PlantUML
[3] https://docs.aws.amazon.com/prescriptive-guidance/latest/arc...
-
Do you take physical notes while working on your game? Or just play around and learn by doing?
I use a combination of: * Markdown (for notes and code blocks) * Mermaid markdown (for architectural diagrams in markdown documents) * PlantUML markdown (again for arch. docs in markdown, but mainly for C4 diagrams) * a Docker container to render PlantUML markdown to images * Joplin, installed on every device I regularly use * NextCloud, to store, secure, encrypt, and make available everywhere, the markdown notes managed by Joplin
- Diagram as Code
c4-notation
-
Show HN: Flyde – an open-source visual programming language
What you are describing sounds a lot like C4: https://c4model.com/
-
A View on Functional Software Architecture
There a various standards for documenting software architecture, like arc42 or C4. While useful and somewhat well-known (there is certainly a correlation here), here architecture documentation can be further simplified, particularly due to the self-similarity of project and component. Following is a small template, that can also serve as a project's and component's README:
-
Inkscape Cloud Architect
I would suggest that if your architecture diagrams are a bunch of icons provided by AWS/Azure/GCP with lines pointing at each other... you are doing it wrong.
The 'what does this box do for my system' is vastly more important than the 'which in vogue offering from my cloud provider implements it'.
I highly suggest folks take a look at the C4 Model: https://c4model.com/
-
Architecture diagrams enable better conversations
You probably want https://c4model.com/ which explains what a C4 architecture diagram is. (See the first footnote in the article.)
-
Sequence diagrams, the only good thing UML brought to software development
> Class, component, package, activity and state machine diagrams are all useful ways to model the structure and behavior of a system visually
They're not bad, but the C4 model is a much better approach to high level modelling (while you can still use class diagrams on the lowest level). https://c4model.com/
> Comprehensibility > Comprehensiveness #
> The most common failure mode for sequence diagrams is over-complication. (This also is the failure mode for most diagrams, as I wrote in an article on flow charts).
Agreed.
UML – with the goal of being a graphical language for _complete_ specification of a system (both for code generation as well as to have diagrams generated from code introspection) – has to be exhaustive, therefore fails at showing the big picture.
Use of UML that could accommodate multiple levels of abstraction would fix that. I believe this is what C4 [1] tries to achieve with 4 levels of diagram. Unfortunately everybody who invents a new diagram model also reinvents the wheel and throws the entire UML away. You could easily use UML visual language, and just standardise on using the 4 levels diagrams of C4.
> What do you think is the whole point of a modeling language?
Not building an entire system down to class level which is what it is all too often used for (in my experience exclusively by people who have never and cannot code).
It's inefficient, doesn't play well with Software Engineering (diff, version control etc..) and is a relic of the past.
Keep the classes in code, project that into a diagram for the few occasions that is actually needed, and stick to a simplified tool like C4 (https://c4model.com) for your architectural views. Sprinkle some sequence diagrams in too to help describe the key data flows (they're handy next to C4).
Why use C4 over UML? Because the vast majority of the audience don't even know what UML is. So keep it extremely simple and include a key / guide to any of the (few) shapes or colors you use so that it's completely self contained.
The vast majority of UML belongs to be put into the Indiana Jones storage facility along with other archaic ideas such as Function Points / Function Point Analysis.
-
Pravljenje AWS strukturnog diagrama
Ako hoces bas nesto za arhitekturu imas https://c4model.com/. Pogledaj bas Simon Brown-ov software mozda ti to odgovara. Meni nije legao.
-
Are there any reasons not to use Oauth2 and tokens with templates?
I suggest you to model your building blocks in order to better understand your needs. https://c4model.com/ is a good approach for that, particularly the deployment diagram in your case
-
Mastering Software Architecture Visualization with the C4 Model
C4 Model - The C4 Model Website, outlining the model in great detail.
What are some alternatives?
mermaid - Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown
d2 - D2 is a modern diagram scripting language that turns text to diagrams.
aws-icons-for-plantuml - PlantUML sprites, macros, and other includes for Amazon Web Services services and resources
Azure-PlantUML - PlantUML sprites, macros, and other includes for Azure services
backstage - Backstage is an open platform for building developer portals
dsl - Structurizr DSL
swagger-ui - Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
c4-draw.io - Draw.io template/diagram containing C4 Model shapes. Drawio Diagrams.net
gcp-icons-for-plantuml - PlantUML sprites, macros, and other includes for Google Cloud Platform services and resources
plantuml-syntax - vim syntax file for plantuml
uml-reverse-mapper - Automatically generate class diagram from code. Supports Graphviz, PlantUML and Mermaid output formats.
excalidraw - Virtual whiteboard for sketching hand-drawn like diagrams