Files
familienarchiv/docs/architecture/c4/l3-backend-timeline.puml
Marcel 27bfa7acbd
Some checks failed
CI / Unit & Component Tests (pull_request) Failing after 47s
CI / OCR Service Tests (pull_request) Successful in 25s
CI / Backend Unit Tests (pull_request) Failing after 5m29s
CI / fail2ban Regex (pull_request) Successful in 47s
CI / Semgrep Security Scan (pull_request) Successful in 26s
CI / Compose Bucket Idempotency (pull_request) Successful in 1m7s
docs(timeline): register timeline domain in package tables and diagrams
Add timeline/ to the root and backend package tables, TimelineEvent to the
domain-model entity tables, TimelineEvent/EventType/Zeitstrahl to the
glossary, a new l3-backend-timeline C4 component diagram, and the
timeline_events table + two join tables (with their CHECKs and cascade FKs)
to the db-orm and db-relationships ER diagrams. Bumps the db-orm snapshot to
V77.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 23:11:08 +02:00

1.6 KiB

Component Diagram: API Backend — Timeline (Zeitstrahl)Component Diagram: API Backend — Timeline (Zeitstrahl)API Backend (Spring Boot)[system]«component»TimelineEventRepository[Spring Data JPA] Reads and writesTimelineEvent rows andtheir persons/documentsjoin tables(timeline_event_persons,timeline_event_documents).Issue #774 ships therepository empty; theper-person filter querylands in a later issue.«component»TimelineEventService[Spring Service (planned, issue3)] Will own curated-eventCRUD: assembleTimelineEventView/Summaryinside the transaction (lazyManyToMany +open-in-view=false, perADR-036/ADR-040),populatecreatedBy/updatedBy fromthe session principal, andtranslate optimistic-lockconflicts toDomainException.conflict.«component»TimelineEventController[Spring MVC (planned, issue 3)] Will expose /api/timelinereads (READ_ALL) andwrites (WRITE_ALL).createdBy/updatedBy arenever bound from requestbodies (CWE-639).«container»PostgreSQL[PostgreSQL 16]«external_system»Document domain Provides DatePrecision(shared value type) andDocument references forlinked letters«external_system»Person domain Provides Person referencesfor who an event involvesSQL queries[JDBC]Reads / writes events(planned)Delegates to(planned)References personsvia join tableReferencesdocuments via jointable