docs(c4): add Email Service to L1 and L2 — NotificationService and PasswordResetService send SMTP

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-06 12:18:42 +02:00
committed by marcel
parent ab6117c87e
commit 9b82d8e7dd

View File

@@ -14,9 +14,11 @@ C4Context
Person(member, "Family Member", "Searches, browses, reads, and transcribes archived documents") Person(member, "Family Member", "Searches, browses, reads, and transcribes archived documents")
System(familienarchiv, "Familienarchiv", "Web application for digitising, organising, and searching family 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.")
Rel(admin, familienarchiv, "Manages via browser", "HTTPS") Rel(admin, familienarchiv, "Manages via browser", "HTTPS")
Rel(member, familienarchiv, "Searches, reads, and transcribes via browser", "HTTPS") Rel(member, familienarchiv, "Searches, reads, and transcribes via browser", "HTTPS")
Rel(familienarchiv, mail, "Sends notification and password-reset emails (optional)", "SMTP")
``` ```
--- ---
@@ -30,6 +32,7 @@ C4Container
title Container Diagram: Familienarchiv title Container Diagram: Familienarchiv
Person(user, "User", "Admin or family member") Person(user, "User", "Admin or family member")
System_Ext(mail, "Email Service", "SMTP server. Delivers notification and password-reset emails.")
System_Boundary(archiv, "Familienarchiv (Docker Compose)") { System_Boundary(archiv, "Familienarchiv (Docker Compose)") {
Container(frontend, "Web Frontend", "SvelteKit / Node.js", "Server-side rendered UI. Handles auth session cookies, document search and viewer, transcription editor, annotation layer, family tree (Stammbaum), stories (Geschichten), activity feed (Chronik), enrichment workflow, and admin panel.") Container(frontend, "Web Frontend", "SvelteKit / Node.js", "Server-side rendered UI. Handles auth session cookies, document search and viewer, transcription editor, annotation layer, family tree (Stammbaum), stories (Geschichten), activity feed (Chronik), enrichment workflow, and admin panel.")
@@ -51,6 +54,7 @@ C4Container
Rel(backend, db, "Reads and writes metadata and sessions", "JDBC / SQL") Rel(backend, db, "Reads and writes metadata and sessions", "JDBC / SQL")
Rel(backend, storage, "Uploads and streams document files", "HTTP / S3 API (AWS SDK v2)") Rel(backend, storage, "Uploads and streams document files", "HTTP / S3 API (AWS SDK v2)")
Rel(backend, ocr, "OCR job requests with presigned MinIO URL", "HTTP / REST / JSON") Rel(backend, ocr, "OCR job requests with presigned MinIO URL", "HTTP / REST / JSON")
Rel(backend, mail, "Sends notification and password-reset emails (optional)", "SMTP")
Rel(ocr, storage, "Fetches PDF via presigned URL", "HTTP / S3 presigned") Rel(ocr, storage, "Fetches PDF via presigned URL", "HTTP / S3 presigned")
Rel(mc, storage, "Creates bucket on startup", "MinIO Client CLI") Rel(mc, storage, "Creates bucket on startup", "MinIO Client CLI")
``` ```