Diagrams
Diagrams
Diagrams
The C4 model of the architecture as LikeC4 sources.
| File | Holds |
|---|---|
spec.c4 |
Element and relationship kinds (person, system, container, module …) |
model.c4 |
The elements and their relationships — one model, every view is a projection of it |
views.c4 |
L1 context, L2 containers, L3 server / modules / web app, and four dynamic flows |
likec4 is a dev dependency, so these need no global install:
make arch-diagrams # interactive, with navigation between levels
make arch-diagrams-check # validates the sources; part of `make arch`, so CI runs it
Nothing is rendered ahead of time. The published developer docs build the whole explorer at
/diagrams/ and embed individual views in the
chapters as <likec4-view view-id="…">, both from these sources on every build — so a view cannot
go stale, and changing the model is the whole job. The cost is that the chapters show no diagram
when read on GitHub, only a link to the view.
Views, in reading order:
index— who uses the system and what it talks tocontainers— web app, server, database, file storeserver— HTTP, feed, jobs, kernel and the ten modulesmodules— the modules and the one dependency among themweb— shell, replica, commands, features, PWA runtimeflowRsvp,flowSessionChanged,flowJoin,flowReconnect— the four flows
Keep the model honest: when a document here changes a boundary, change model.c4 in the same
commit.