PlantUML a text based diagramming language

One of the senior engineers at my job is a big fan of PlantUML, so I recommended it to one of the junior guys who needed a diagramming tool. I’ve been taking a look myself since I have never had a goto diagramming tool. 

PlantUML is text based language. You can define structs and their relationships with other items. There are a lot of keywords, which can be a bit confusing, but it generates pretty good diagrams.

Here is the text for a system diagram and the image it generates below.

actor actor [
  a user
database postgres
queue celery 
stack redis

node django [
  Django webservice

node worker [
  Turtle Detector

boundary boundary [

cloud cloud [

actor --> cloud

cloud --> boundary

boundary --> django

django --> postgres
django --> celery

celery -> worker
worker -> redis
redis --> django

Here is the code for a smaller class relationship diagram.

class User {
  +customerId : String
  ~submissions : Submission[]

class Submission {
   -size : int[][] 
   #image : int[][]


User <|-- Submission

class TurtleModel {
   ~model : Pytorch.GAN