Files
familienarchiv/docs/architecture/c4/l3-frontend-3c-people-stories.puml

2.7 KiB

Component Diagram: Web Frontend — People, Stories & DiscoveryComponent Diagram: Web Frontend — People, Stories & DiscoveryWeb Frontend (SvelteKit / SSR)[system]«component»/persons and/persons/[id][SvelteKit Routes] Person directory and detail.Detail: metadata, documentlist sent/received,correspondents, explicit andinferred familyrelationships.«component»/persons/[id]/edit and/persons/new[SvelteKit Routes] Create and edit personforms. Edit: metadata,aliases, explicitrelationships. Actions:PUT/POST /api/persons.«component»/briefwechsel[SvelteKit Route] Bilateral conversationtimeline. Selects twopersons viaPersonTypeahead, fetchesGET/api/documents/conversation,displays chronologicalexchange.«component»/aktivitaeten[SvelteKit Route] Unified activity feed(Chronik). Loader: GET/api/dashboard/activity andGET/api/notifications?read=false.«component»/geschichten and/geschichten/[id][SvelteKit Routes] Story list and detail pages.Loader: GET/api/geschichten?status=PUBLISHED.«component»/geschichten/[id]/editand /geschichten/new[SvelteKit Routes] Story editor with rich text,person and documentlinking. Actions: PUT/POST/api/geschichten. RequiresBLOG_WRITE permission.«component»/stammbaum[SvelteKit Route] Family tree visualisation.Loader: GET /api/network(nodes + edges). Rendersinteractive family tree fromnetwork graph data.«component»/profile[SvelteKit Route] Current user profilesettings. Loader: GET/api/users/me/notification-preferences.Actions: updatename/password andnotification preferences.«component»/users/[id][SvelteKit Route] Public user profile view.Loader: GET /api/users/{id}.«person»User«container»API Backend[Spring Boot]Browses familymembers[HTTPS / Browser]GET /api/persons, GET/api/persons/{id}[HTTP / JSON]GET/api/persons/{id},PUT/api/persons/{id},POST /api/persons[HTTP / JSON]GET/api/documents/conversation[HTTP / JSON]GET/api/dashboard/activity,GET /api/notifications[HTTP / JSON]GET /api/geschichten[HTTP / JSON]GET/PUT/POST/api/geschichten[HTTP / JSON]GET /api/network[HTTP / JSON]GET/PUT/api/users/me,notification-preferences[HTTP / JSON]GET /api/users/{id}[HTTP / JSON]