Files
familienarchiv/docs/architecture/c4
Marcel ea38efc734
All checks were successful
CI / Unit & Component Tests (pull_request) Successful in 3m38s
CI / OCR Service Tests (pull_request) Successful in 21s
CI / Backend Unit Tests (pull_request) Successful in 4m9s
CI / fail2ban Regex (pull_request) Successful in 48s
CI / Semgrep Security Scan (pull_request) Successful in 21s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m5s
docs: drop remaining stale MassImportService/ExcelService references
Replace the legacy raw-spreadsheet importer references left behind after
#674 with the canonical import architecture (CanonicalImportOrchestrator +
four loaders) and document #686 index-based PDF resolution.

- l3-backend-3b: DocumentImporter now resolves PDF by index (importDir/
  <index>.pdf) with index validation + canonical-path containment + %PDF
  magic-byte check (no recursive walk / homoglyph file-path guards)
- c4-diagrams.md: replace massImport/excelSvc components + their rels with
  an importOrch (CanonicalImportOrchestrator) component wired to doc/person/
  tag services; refresh adminCtrl and adminSystem descriptions
- ARCHITECTURE.md: importing package row now describes the orchestrator +
  four loaders consuming canonical artifacts
- TODO-backend.md: remove obsolete "MassImportService provides no status"
  item (service deleted; orchestrator already exposes import-status); update
  stale ExcelService test-coverage suggestion

Refs #686

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 21:30:40 +02:00
..

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 (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