docs(c4): add Email Service to L1 and L2 — NotificationService and PasswordResetService send SMTP
Some checks failed
CI / Unit & Component Tests (push) Failing after 3m29s
CI / OCR Service Tests (push) Successful in 35s
CI / Backend Unit Tests (push) Failing after 3m17s
CI / Unit & Component Tests (pull_request) Failing after 3m7s
CI / OCR Service Tests (pull_request) Successful in 29s
CI / Backend Unit Tests (pull_request) Failing after 3m17s
Some checks failed
CI / Unit & Component Tests (push) Failing after 3m29s
CI / OCR Service Tests (push) Successful in 35s
CI / Backend Unit Tests (push) Failing after 3m17s
CI / Unit & Component Tests (pull_request) Failing after 3m7s
CI / OCR Service Tests (pull_request) Successful in 29s
CI / Backend Unit Tests (pull_request) Failing after 3m17s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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")
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user