BETA

C4 Model BETA

Архитектурные диаграммы контекста и контейнеров на базе Mermaid

Уровни C4-модели

L1

Context (Контекст)

Высокоуровневая карта системы. Показывает пользователей и внешние системы, с которыми взаимодействует ваша система.

Person System System_Ext Rel
L2

Container (Контейнер)

Внутренняя архитектура системы: приложения, базы данных, очереди сообщений. Каждый контейнер — технологический блок.

Container ContainerDb Container_Ext Boundary
L3

Component (Компонент)

Внутренняя структура контейнера: модули, сервисы, контроллеры. Для бизнес-процессов — логические блоки обработки.

Component ComponentDb Component_Ext
L4

Code (Код)

Детальная UML-диаграмма классов. Используется редко, только для сложных компонентов. В Mermaid — через classDiagram.

classDiagram class interface

Ключевые слова Mermaid C4

Элементы

Person(alias, label, descr)
Человек-участник (пользователь, клиент, оператор)
System(alias, label, descr)
Ваша система или её часть
System_Ext(alias, label, descr)
Внешняя система (API, сервис)
Container(alias, label, tech, descr)
Технологический блок (приложение, БД, очередь)
ContainerDb(alias, label, tech, descr)
База данных
Component(alias, label, tech, descr)
Логический компонент внутри контейнера

Связи

Rel(from, to, label, tech)
Связь между элементами (запрос, поток данных)
BiRel(from, to, label)
Двунаправленная связь

Группировка

Boundary(alias, label)
Граница (система, контейнер, enterprise)
Enterprise_Boundary(alias, label)
Граница предприятия
System_Boundary(alias, label)
Граница системы
Container_Boundary(alias, label)
Граница контейнера

Конфигурация

UpdateLayoutConfig($c4ShapeInRow="3")
Количество элементов в строке
UpdateLayoutConfig($c4BoundaryInRow="1")
Количество границ в строке

Стили

UpdateElementStyle(alias, bg, font, border)
Стилизация элемента
UpdateRelStyle(from, to, color)
Стилизация связи

Полезные слова для диаграмм бизнес-процессов

Акторы

Клиент / Customer
Person(customer, "Клиент", "Инициирует процесс")
Оператор / Officer
Person(officer, "Оператор", "Обрабатывает заявки")
Система / System
System(core, "Основная система", "Бизнес-логика")

Действия

Подать заявку
Rel(customer, core, "Подает заявку")
Проверить документы
Rel(core, docService, "Проверяет документы")
Согласовать / Approve
Rel(core, approval, "Согласует")
Уведомить / Notify
Rel(core, notification, "Уведомляет")

Технологии

REST API / gRPC
Протокол связи
PostgreSQL / MongoDB
Тип базы данных
RabbitMQ / Kafka
Очередь сообщений
S3 / MinIO
Хранилище файлов

Генератор C4-диаграммы

L1 — Context