Skip to main content

PlantUML

๐Ÿ”— plantuml.com

PlantUML can be summarized as declarative diagrams or domain specific language (DSL). I tend to call it Diagrams As Code for simplicity although this is not 100% technically correct.

PlantUML takes some code like this:

@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
@enduml

And converts it to this

Within our docs and it is even more elaborate thanks to docusaurus.io,mdxjs.com and the remark-plugins. The community does amazing things โค๏ธ

Note that PlantUML does not look extremely pretty, but I am willing to pay any price to have maintainable, versioned, in-code diagrams! The two times a month we check the diagrams PlantUML or its alternatives definitely do their job!

In short

PlantUML (or its alternatives) take declarative code and convert it to an image of some form. It is like the .svg file format - except that it describes a diagram instead of an image.

Online Server

They have an online server to start even!

Usage

We use it primarily for C4 Modeling. Note that I do not imply on the/you students that you use PlantUML, everyone can drink their own soup ๐Ÿœ

Alternatives