Skip to content
Examples

Architecture documentations of real systems

Each of the 8 completed examples below is a complete architecture documentation of a real system, written along the arc42 structure. Different domains, different scales, different technologies.

  • Developer tooling

    HtmlSanityCheck

    Find broken links and missing images in generated HTML, from inside an automated build.

    • Groovy, with minimal external dependencies
    • Shipped as a Gradle plugin
    • Template method for checkers and reporters

    Small open-source tool · single maintainer · on GitHub since 2014

  • Customer relationship management

    MaMa-CRM

    Absorb a new mandator or campaign — new data structures, new file formats — without changing code.

    • Persistence generated from a UML model
    • DSLs for CSV and fixed-record formats
    • Rule engine for campaign process control

    7–10 developers · 2–4 week iterations · ~15 months

  • Personal / fitness tracking

    biking2

    Stay simple enough to double as a learning project for Java 8, Spring Boot and AngularJS, while still being a real system one person runs in production.

    • Spring Boot single "fat jar" deployment
    • AngularJS single-page app bundled in the same artifact
    • MQTT (via ActiveMQ) for near real-time tracking

    Single maintainer · personal project · in production since 2014

  • Site observability

    status.arc42.org

    Give every arc42 family site an honest, self-monitoring status page — one that says so when its own data goes stale, instead of failing silently.

    • Independent external prober, not an in-process watcher
    • Turso for durable snapshots and heartbeats
    • Go backend behind a static Jekyll shell

    9 arc42 family sites monitored · single maintainer · in production since 2023

  • Financial services

    M&M Data Migration

    Move ~20 million person and account records off VSAM/EBCDIC into a new Java object model, audit-proof, inside a single 24-hour window.

    • Pipes and filters, with a database as the pipe
    • Parallel rule processing over independent segments
    • Migration rules in Java, not in a rule engine

    ~20 million persons · 50+ million accounts · 24-hour migration window · ran once, ca. 2002/2003

  • Embedded / law enforcement

    Traffic Pursuit Unit

    Produce measurements and video recordings accurate and tamper-evident enough to hold up in court, while keeping every legally approved part inside one separately certifiable unit.

    • Legally relevant functions isolated in an exchangeable MeasuringUnit
    • Embedded real-time OS for measuring, Linux for video
    • Integer (fixed-point) arithmetic throughout

    Hardware/software product · in police cars · successor to an earlier TPU generation

  • Developer tooling

    docToolchain v4

    Turn AsciiDoc documentation into published HTML, PDF, microsites and Confluence pages — cross-platform, from one wrapper script, with the v4 rewrite shedding Gradle and jBake for plain Groovy.

    • Plain Groovy scripts as tasks — v4 removes Gradle entirely
    • LLM-native architecture with MCP integration
    • Kroki server for rendering all diagrams-as-code

    Open source since 2017 · community project led by its creator · the v4 rewrite is documented in 20 ADRs

  • Research data infrastructure

    NFDI4Earth

    Make the scattered data, software and training material of the Earth System Sciences findable, accessible, interoperable and reusable — by linking existing community services into one architecture rather than replacing them.

    • Reuse community services rather than rebuild them
    • Two entry points — one human, one machine
    • Metadata as RDF, served over a SPARQL API

    67 partner institutions · 5 central services · DFG-funded, coordinated by TU Dresden

  • Academia and research

    RGCAT

    Coming soon

    Turn tabular roboforming geometry data into reduced representations and clusters, find the regions the process has not covered, and make every run reproducible enough to compare one pipeline variant against another.

    Master's thesis · Ruhr-Universität Bochum · source not yet public

Reading for one arc42 section rather than for one system? Every section has a page of its own, gathering that section from each documentation here: the twelve sections.

Looking for short, section-sized illustrations instead? Those live with the template documentation at docs.arc42.org.

More arc42 documentation exists that cannot live here — other people’s systems, on other people’s sites, under licences that do not let us republish them. Those are listed under In the Wild.