C4-PlantUML
d2
Our great sponsors
C4-PlantUML | d2 | |
---|---|---|
23 | 92 | |
5,994 | 15,786 | |
1.8% | 2.8% | |
7.1 | 9.8 | |
22 days ago | 2 days ago | |
PlantUML | Go | |
MIT License | Mozilla Public 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
- What FOSS programs would you recommend for creating concept maps on Linux?
-
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
d2
- NMAP-formatter: convert NMAP results to HTML, CSV, JSON, graphviz (dot), SQLite
- Penrose – Penrose
-
Pikchr: A PIC-like markup language for diagrams in technical documentation
While not embedded in markdown, I like d2 [1]. I can use it with org-babel to embed and view the diagrams on emacs. After using graphviz for years, the visual output seems more polished to me. With that said, I want to give pikchr a try.
- Ask HN: How do you build diagrams for the web?
-
Documentation as Code for Cloud - C4 Model & Structurizr
In the next post I'll deep-dive into the D2 language which also has a huge set of features. Stay tuned.
- Inkscape Cloud Architect
-
Nomnoml
That site is created by the maintainers of D2[1], so it might be biased, but I still think D2 has the friendliest syntax of the bunch, including nomnoml.
[1]: https://d2lang.com/
- Software Architecture Tools
- D2: Declarative Diagramming
-
Architecture diagrams enable better conversations
I've been using https://structurizr.com/ to automatically generate C4 diagrams from a model (rather than drawing them by hand). It works well with the approach for written documentation as proposed in https://arc42.org/. It's very easy to embed a C4 diagram into a markdown document.
The result is a set of documents and diagrams under version control that can be rendered using the structurizr documentation server (for interactive diagrams and indexed search).
I also use https://d2lang.com/ for declarative diagrams in addition to C4, e.g., sequence diagrams and https://adr.github.io/ for architectural decision records. These are also well integrated into structurizr.
What are some alternatives?
mermaid - Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown
aws-icons-for-plantuml - PlantUML sprites, macros, and other includes for Amazon Web Services services and resources
d3 - Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:
Azure-PlantUML - PlantUML sprites, macros, and other includes for Azure services
Mermaid - Edit, preview and share mermaid charts/diagrams. New implementation of the live editor.
backstage - Backstage is an open platform for building developer portals
diagrams - :art: Diagram as Code for prototyping cloud system architectures
swagger-ui - Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
mermaid-cli - Command line tool for the Mermaid library
dsl - Structurizr DSL
plantuml - Generate diagrams from textual description