System context

Depending on the complexity of the system, multiple contexts can be created. This is an arbitrary architectural choice. However, a single context allows capturing many already complex use cases.

From a markdown file structure perspective, you can place them flat or in a directory hierarchy. In all cases, each .md file must have a unique name.

I recommend naming files simply with the name of the abstraction they document (https://c4model.com/abstractions). For example, if you are documenting a webapp-type container for a traveler information system, name the file webapp-voyageur-iv.md.

Personally, I prefer a directory structure as it allows navigating through the complexity of the system during the drafting phase without getting lost. The examples in this template are organized by directory:

system_context/
β”œβ”€β”€ context1
β”‚   β”œβ”€β”€ containers
β”‚   β”‚   β”œβ”€β”€ container1
β”‚   β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ component1
β”‚   β”‚   β”‚   β”‚   β”‚   └── component1-diag1.md
β”‚   β”‚   β”‚   β”‚   └── component2
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ code
β”‚   β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ code1
β”‚   β”‚   β”‚   β”‚       β”‚   β”‚   └── code1-diag1.md
β”‚   β”‚   β”‚   β”‚       β”‚   └── code2
β”‚   β”‚   β”‚   β”‚       β”‚       └── code2-diag1.md
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ component2-diag1.md
β”‚   β”‚   β”‚   β”‚       └── component2-diag2.md
β”‚   β”‚   β”‚   └── container1-diag1.md
β”‚   β”‚   β”œβ”€β”€ container2
β”‚   β”‚   β”‚   β”œβ”€β”€ component3
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ component3-diag1.md
β”‚   β”‚   β”‚   β”‚   └── component3-diag2.md
β”‚   β”‚   β”‚   β”œβ”€β”€ component4
β”‚   β”‚   β”‚   β”‚   └── component4-diag1.md
β”‚   β”‚   β”‚   └── container2-diag1.md
β”‚   β”‚   └── containers-overview.md
β”‚   └── context1-diag1.md
β”œβ”€β”€ context2
β”‚   └── context2.md
└── contexts-overview.md

⚠️ Reminder: You can duplicate directory names, but each file name and page title must be unique.


Table of contents


πŸ“œ Licence : Β© 2024-2025 David Sissoko. Ce projet est distribuΓ© sous licence MIT.

πŸ“’ Bonne lecture et bon dΓ©veloppement !