Skip to content

lsimons/caseum

Repository files navigation

Caseum logo

Caseum

Caseum is a simple approach to software architecture that combines multiple views to boost understanding and empathy across roles.

Video introduction

caseum-introduction-360p.mp4

(watch on YouTube, slides)

Multiple views

Caseum combines these views:

  • Components using C4
  • Actors using roles
  • Stories using Gherkin
  • Events using event storming
  • UI using wireframes
  • Models using facts

Several screenshots of architecture views

Together these views fully describe a software system.

Not all projects need all views.

Lightweight approach

Caseum is for doing just enough architecture. It has three stages:

  1. whiteboarding & dialogue
  2. digital diagrams & decision records
  3. models as code & executable specifications

Not all projects need all stages.

See the guide on stages of architecture. See the guide on as-is and to-be designs for working on existing projects.

Recording decisions

Screenshot of a slack channel being used to record decisions

Architecture records the important design decisions for a system. The records are for communicating with current and future people working on and with the software.

See the guide on recording decisions.

Tools

Partial fact-based model diagram

The primary tools used by Caseum are:

  • Whiteboards, markers, and sticky notes
  • Draw.io for digital diagrams
  • Markdown text files for decision records
  • Model specification in structured text formats (Structurizr C4, Gherkin, LinkML and AsyncAPI JSON)

See the guides on whiteboarding architecture and on using draw.io for architecture.

Different tools are available per view per stage:

Whiteboarding &
Dialogue
Diagrams &
Decision Records
Models &
Executable Specifications
Components Boxes & lines C4 Draw.io Library C4 as Code
Actors Roles & needs Role Markdown Template -
Stories Goals & epics User Story Markdown Template Gherkin
Events Event Storming ES Draw.io Library AsyncAPI
UI Boxes & lines Wireframes Draw.io Library -
Models Circles & lines Model diagrams LinkML

License

Creative Commons LicenseCaseum by Leo Simons is licensed under a Creative Commons Attribution 4.0 International License.

See LICENSE.txt for a plain text copy of the Creative Commons Attribution 4.0 International License.

Contributing

See CONTRIBUTING.md for details on how to contribute to Caseum.

Code of conduct

See Code of Conduct for details on how to participate in the Caseum community.

Building the site

The documentation site is built with Astro Starlight and published to GitHub Pages at https://lsimons.github.io/caseum/. Tools are pinned in .mise.toml; run mise install once, then:

mise run docs-install   # install site dependencies (bun)
mise run docs-dev       # dev server at http://localhost:4321/caseum/
mise run docs-build     # build the static site into docs/dist

Content lives in docs/src/content/docs/; assets and downloads in docs/public/. A push to main builds and deploys via GitHub Actions.

The favicon (docs/public/favicon.svg + apple-touch-icon.png) is a honeycomb generated from the logo's color palette; regenerate it with docs/scripts/gen-favicon.mjs if the palette changes.

About

Caseum software architecture method

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors

Languages