All checks were successful
CI / Unit & Component Tests (pull_request) Successful in 3m21s
CI / OCR Service Tests (pull_request) Successful in 22s
CI / Backend Unit Tests (pull_request) Successful in 3m52s
CI / fail2ban Regex (pull_request) Successful in 44s
CI / Semgrep Security Scan (pull_request) Successful in 21s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m3s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
21 lines
1.3 KiB
Plaintext
21 lines
1.3 KiB
Plaintext
@startuml
|
|
!include <C4/C4_Context>
|
|
|
|
title System Context: Familienarchiv
|
|
|
|
Person(admin, "Administrator", "Manages users, triggers bulk imports, reviews and transcribes documents")
|
|
Person(member, "Family Member", "Access by administrator invite. Searches, browses, reads, and transcribes archived documents.")
|
|
|
|
System(familienarchiv, "Familienarchiv", "Web application for digitising, organising, and searching family documents")
|
|
System_Ext(mail, "Email Service", "SMTP server. Delivers notification emails (mentions, replies) and password-reset links.")
|
|
System_Ext(glitchtip, "GlitchTip", "Self-hosted error tracking (Sentry-compatible). Receives frontend and backend error events with stack traces.")
|
|
System_Ext(ollama, "Ollama (self-hosted)", "Local LLM inference server (qwen2.5:7b). Parses natural-language search queries into structured filters. Runs in the same Docker Compose stack.")
|
|
|
|
Rel(admin, familienarchiv, "Manages via browser", "HTTPS")
|
|
Rel(member, familienarchiv, "Searches, reads, and transcribes via browser", "HTTPS")
|
|
Rel(familienarchiv, mail, "Sends notification and password-reset emails (optional)", "SMTP")
|
|
Rel(familienarchiv, glitchtip, "Sends error events with errorId and stack trace", "HTTPS")
|
|
Rel(familienarchiv, ollama, "NL query parsing for natural-language search", "HTTP / REST (internal)")
|
|
|
|
@enduml
|