Gesso Architecture

Full Gesso architecture in C4 style, drawn with Mermaid. One file per view, under views/.

Views

View Scope
System Landscape Every software system and person
Container View: Gesso CMS CMS abstraction layer
Container View: Gesso Commerce Commerce abstraction layer
Container View: Gesso Design System Base design system
Container View: Project Design System Project-specific components
Container View: Drupal Headless Drupal's GraphQL surface
Container View: Frontend A Delivery application

Viewing

Each view is a plain Mermaid code block, so it renders anywhere Mermaid is supported:

There is no external service and no license to renew.

Editing

Add or edit a file in views/, then run pnpm build to regenerate the hosted site. New files are picked up automatically — the index and sidebar are generated from the directory, and each file's # Heading becomes its title.

These diagrams replaced a Structurizr workspace, and they deliberately keep the C4 conventions that came with it:

Element Fill Label format
Person #08427b Name / [Person]
Software System #1168bd Name / [Software System]
Container #438dd5 Name / [Container] / description
Boundary none Subgraph titled with the system in scope

Two conventions worth preserving: every relationship is drawn as a dotted arrow, and container views show only the elements that have a relationship defined at container level — not everything the parent system talks to.

Layout is left-to-right (flowchart LR). Two things Mermaid cannot reproduce from the Structurizr renders: people are drawn as rounded boxes rather than a person glyph, and boundary labels sit at the top of a subgraph rather than the bottom.