This website requires JavaScript.
Explore
Help
Register
Sign In
marcel
/
familienarchiv
Watch
1
Star
0
Fork
0
You've already forked familienarchiv
Code
Issues
115
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
Files
c10e8e8a3a4bf77fe7ca798b27e25e31f8314aa5
familienarchiv
/
docs
/
architecture
/
c4
/
l2-containers.puml
Marcel
264db4e1c9
docs(c4): add L1 context and L2 containers as C4-PlantUML files
2026-05-06 22:52:21 +02:00
2.2 KiB
Raw
Blame
History
Container Diagram: Familienarchiv
Container Diagram: Familienarchiv
Familienarchiv (Docker Compose)
[system]
«container»
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»
API
Backend
[Spring
Boot
4
/
Java
21
/
Jetty]
REST
API.
Implements
document
management,
search,
user
auth,
file
upload/download,
transcription,
OCR
orchestration,
and
SSE
notifications.
«container»
OCR
Service
[Python
FastAPI
/
port
8000]
Handwritten
text
recognition
(HTR)
and
OCR
microservice.
Single-node
by
design
â
see
ADR-001.
Reachable
only
on
the
internal
Docker
network;
no
external
port
exposed.
«container»
Relational
Database
[PostgreSQL
16]
Stores
document
metadata,
persons,
users,
permission
groups,
tags,
transcription
blocks,
audit
log,
and
Spring
Session
data.
«container»
Object
Storage
[MinIO
(S3-compatible)]
Stores
the
actual
document
files
(PDFs,
scans).
Objects
keyed
as
documents/{UUID}_{filename}.
«container»
Bucket
Init
Helper
[MinIO
Client
(mc)]
One-shot
container
on
startup.
Creates
the
archive
bucket
with
private
access
policy.
«person»
User
Admin
or
family
member
«external_system»
Email
Service
SMTP
server.
Delivers
notification
and
password-reset
emails.
Uses
[HTTPS
/
Browser]
API
requests
with
Basic
Auth
token
[HTTP
/
REST
/
JSON]
SSE
notifications
(server-sent
events)
[HTTP
/
SSE
â
direct
backend-to-browser]
Reads
and
writes
metadata
and
sessions
[JDBC
/
SQL]
Uploads
and
streams
document
files
[HTTP
/
S3
API
(AWS
SDK
v2)]
OCR
job
requests
with
presigned
MinIO
URL
[HTTP
/
REST
/
JSON]
Sends
notification
and
password-reset
emails
(optional)
[SMTP]
Fetches
PDF
via
presigned
URL
[HTTP
/
S3
presigned]
Creates
bucket
on
startup
[MinIO
Client
CLI]
Reference in New Issue
View Git Blame
Copy Permalink