This website requires JavaScript.
Explore
Help
Register
Sign In
marcel
/
familienarchiv
Watch
1
Star
0
Fork
0
You've already forked familienarchiv
Code
Issues
118
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
Files
7ca6492fc09482c6c0d387f11011e335b45e679a
familienarchiv
/
docs
/
architecture
/
c4
/
l3-frontend-3c-people-stories.puml
Marcel
2121d8469f
All checks were successful
CI / Unit & Component Tests (pull_request)
Successful in 4m9s
Details
CI / OCR Service Tests (pull_request)
Successful in 23s
Details
CI / Backend Unit Tests (pull_request)
Successful in 4m23s
Details
CI / fail2ban Regex (pull_request)
Successful in 48s
Details
CI / Semgrep Security Scan (pull_request)
Successful in 23s
Details
CI / Compose Bucket Idempotency (pull_request)
Successful in 1m6s
Details
docs(geschichte): add StoryDocumentPanel to component inventory + C4 diagram (
#795
)
...
Co-Authored-By: Claude Fable 5 <
noreply@anthropic.com
>
2026-06-11 12:41:11 +02:00
4.3 KiB
Raw
Blame
History
Component Diagram: Web Frontend â People, Stories & Discovery
Component Diagram: Web Frontend â People, Stories & Discovery
Web Frontend (SvelteKit / SSR)
[system]
«component»
/persons
and
/persons/[id]
[SvelteKit
Routes]
Person
directory
(server-side
filtered
+
paginated)
and
detail.
Directory:
type/family/has-documents
chips,
reader
default
(familyMember
OR
documentCount
>
0),
writer-only
show-all
toggle.
Detail:
metadata,
document
list
sent/received,
correspondents,
family
relationships.
«component»
/persons/[id]/edit
and
/persons/new
[SvelteKit
Routes]
Create
and
edit
person
forms.
Edit:
metadata,
aliases,
explicit
relationships.
Actions:
PUT/POST
/api/persons.
«component»
/persons/review
[SvelteKit
Route]
Transcriber
triage
view
(WRITE-gated
link).
Lists
provisional
persons;
per-row
Merge
/
Umbenennen
/
Bestätigen
/
Löschen.
Actions:
POST
/merge,
PUT
/{id},
PATCH
/{id}/confirm,
DELETE
/{id}.
«component»
/aktivitaeten
[SvelteKit
Route]
Unified
activity
feed
(Chronik).
Loader:
GET
/api/dashboard/activity
and
GET
/api/notifications?read=false.
«component»
/geschichten
and
/geschichten/[id]
[SvelteKit
Routes]
Story/Journey
list
and
detail
pages.
List:
GeschichteListRow
with
REISE
badge
for
JOURNEY
type.
Detail:
dispatches
to
StoryReader
(rich
text
+
persons)
or
JourneyReader
(intro
+
ordered
JourneyItemCard/JourneyInterlude
items
+
empty
state)
based
on
GeschichteType.
BLOG_WRITE
users
see
edit/delete
actions.
Loader:
GET
/api/geschichten,
GET
/api/geschichten/{id}.
«component»
/geschichten/[id]/edit
and
/geschichten/new
[SvelteKit
Routes]
Story
editor
and
creation
flow.
New:
TypeSelector
(STORY/JOURNEY
radio
group
with
roving
tabindex)
â
StoryCreate
(TipTap
rich
text,
person
linking,
POST
/api/geschichten)
or
JourneyCreate
(title
+
first
item).
Edit:
branches
on
GeschichteType
â
STORY
opens
GeschichteEditor
(TipTap
body
+
GeschichteSidebar
incl.
StoryDocumentPanel:
document
linking
via
POST/DELETE
/items);
JOURNEY
opens
JourneyEditor
(title,
intro
textarea,
ordered
JourneyItemRow
list
with
drag-reorder
+
move-up/down,
JourneyAddBar
for
document/interlude
addition,
GeschichteSidebar).
JourneyEditor
mutations:
POST/DELETE
/items,
PUT
/items/reorder,
PATCH
/items/{id}.
Requires
BLOG_WRITE
permission.
«component»
/stammbaum
[SvelteKit
Route]
Family
tree
visualisation.
Loader:
GET
/api/network
(nodes
+
edges).
Renders
interactive
family
tree
from
network
graph
data.
«component»
/themen
[SvelteKit
Route]
Browsable
topic
index.
Shows
all
root
tags
as
cards
with
color
bars
and
child
rows.
ThemenWidget
also
embedded
in
the
home
dashboard
(reader
+
editor
sidebar).
Loader:
GET
/api/tags/tree.
«component»
/profile
[SvelteKit
Route]
Current
user
profile
settings.
Loader:
GET
/api/users/me/notification-preferences.
Actions:
update
name/password
and
notification
preferences.
«component»
/users/[id]
[SvelteKit
Route]
Public
user
profile
view.
Loader:
GET
/api/users/{id}.
«person»
User
«container»
API
Backend
[Spring
Boot]
Browses
family
members
[HTTPS
/
Browser]
GET
/api/persons
(filter
+
page
params
->
PersonSearchResult),
GET
/api/persons/{id}
[HTTP
/
JSON]
GET
/api/persons/{id},
PUT
/api/persons/{id},
POST
/api/persons
[HTTP
/
JSON]
GET
/api/persons?provisional=true,
PATCH
/api/persons/{id}/confirm,
DELETE
/api/persons/{id},
POST
/api/persons/{id}/merge
[HTTP
/
JSON]
GET
/api/dashboard/activity,
GET
/api/notifications
[HTTP
/
JSON]
GET
/api/geschichten,
GET
/api/geschichten/{id},
DELETE
/api/geschichten/{id}
[HTTP
/
JSON]
GET
/api/persons/{id}
(pre-populate),
POST
/api/geschichten,
PUT
/api/geschichten/{id},
POST/DELETE
/api/geschichten/{id}/items,
PUT
/api/geschichten/{id}/items/reorder,
PATCH
/api/geschichten/{id}/items/{itemId}
[HTTP
/
JSON]
GET
/api/network
[HTTP
/
JSON]
GET
/api/tags/tree
[HTTP
/
JSON]
GET/PUT
/api/users/me,
notification-preferences
[HTTP
/
JSON]
GET
/api/users/{id}
[HTTP
/
JSON]
Reference in New Issue
View Git Blame
Copy Permalink