# C4-PlantUML Diagrams

Architecture diagrams in C4-PlantUML format. These are the authoritative source for layout-accurate diagrams. The companion `c4-diagrams.md` in the parent directory keeps Mermaid versions for inline Gitea rendering.

## Render in Gitea

Gitea is configured to render `.puml` files as diagrams. Open any `.puml` file in the Gitea UI to see the rendered diagram.

> **Note:** `plantuml` code fences inside Markdown files do **not** render inline in Gitea — this is a Gitea limitation unrelated to the server configuration. The `.md` files in this repo use Mermaid for that reason.

## Render in VS Code

Install the [PlantUML extension](https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml) (`jebbs.plantuml`). The project's `.vscode/settings.json` already points at the shared server:

```
plantuml.server = http://heim-nas:8500
```

Open any `.puml` file and press `Alt+D` to preview.

## Files

| File | Diagram |
|---|---|
| `l1-context.puml` | Level 1 — System Context |
| `l2-containers.puml` | Level 2 — Containers |
| `l3-backend-3a-security.puml` | L3 Backend: Security & Authentication |
| `l3-backend-3b-document-management.puml` | L3 Backend: Document Management & Import |
| `l3-backend-3c-transcription.puml` | L3 Backend: Document Transcription Pipeline |
| `l3-backend-3d-users-groups.puml` | L3 Backend: Users, Groups & Administration |
| `l3-backend-3e-persons.puml` | L3 Backend: Persons & Family Graph |
| `l3-backend-3f-ocr.puml` | L3 Backend: OCR Orchestration |
| `l3-backend-3g-supporting.puml` | L3 Backend: Supporting Domains |
| `l3-frontend-3a-middleware-auth.puml` | L3 Frontend: Middleware, Auth & Layout |
| `l3-frontend-3b-document-workflows.puml` | L3 Frontend: Document Workflows |
| `l3-frontend-3c-people-stories.puml` | L3 Frontend: People, Stories & Discovery |
| `l3-frontend-3d-administration.puml` | L3 Frontend: Administration & Help |
| `seq-auth-flow.puml` | Sequence: Authentication Flow |
| `seq-document-upload.puml` | Sequence: Document Upload Flow |
