Skip to content
Examples

Architecture documentations of real systems

Each of the 10 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

  • An invitation

    Your documentation belongs here

    A few thousand people read these examples every month. If you have documented a real system along arc42 and may publish it, we would like to add it. If you cannot republish it, a link is welcome too.

    How to contribute

  • 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

  • Environmental information

    UBA-SNS (Semantic Network Service)

    Open access to environmental information through W3C standards, in human and machine readable form, with reusable web services for specialist applications.

    • Linked Open Data, with HTTP URIs and the W3C RDF and SKOS standards
    • Modular Rails engine architecture on the open source iQvoc framework
    • Docker containers behind a Caddy reverse proxy

    ~12,000 descriptors · ~40,000 non-descriptors · ~4,000 chronicle entries · in production at sns.uba.de

  • 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

  • Public sector

    Heldenhelfer

    One portal where the clubs and initiatives of Würzburg keep their members, files and forum, assembled from open source parts behind a single login.

    • Kafka events and one sidecar per third-party tool
    • Keycloak of the Smart City Hub for single sign-on
    • Clean Architecture in every self-written service

    5 self-built services beside Nextcloud and Discourse · team of 7 · half a year · pilot 2024

  • 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

  • From the arc42 team

    Learn from the originals

    The people who created arc42 also teach it. Practical architecture training, most classes with Peter Hruschka and Gernot Starke (dates with other trainers say so), and solid preparation for iSAQB certification.

    Next date of each course

    All 19 dates and every course: trainings.arc42.org · as of 18 Sep 2026

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.