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
4d8caddac1bfbb0cc4d8a8ab9ab7e304071d48fa
familienarchiv
/
docs
/
architecture
/
c4
/
l3-frontend-3b-document-workflows.puml
Marcel
c3d4762ca0
docs(c4): add L3 frontend 3a middleware/auth and 3b document workflows
2026-05-06 22:52:21 +02:00
3.1 KiB
Raw
Blame
History
Component Diagram: Web Frontend â Document Workflows
Component Diagram: Web Frontend â Document Workflows
Web Frontend (SvelteKit / SSR)
[system]
«component»
/
(Home
/
Search)
[SvelteKit
Route]
Loader:
parses
URL
params
(q,
from,
to,
senderId,
receiverId,
tags),
fetches
/api/documents/search
and
/api/persons.
Renders
search
form
with
full-text,
date
range,
sender/receiver
typeahead,
and
tag
filters.
«component»
/documents/[id]
[SvelteKit
Route]
Loader:
GET
/api/documents/{id}.
Page:
metadata
panel,
inline
file
viewer,
transcription
editor,
annotation
layer,
and
comment
thread.
«component»
/documents/[id]/edit
[SvelteKit
Route]
Edit
form
with
PersonTypeahead,
TagInput,
date/location
fields.
Form
action:
PUT
/api/documents/{id}.
«component»
/documents/new
[SvelteKit
Route]
Upload
form
for
a
new
document.
Loader:
GET
/api/persons.
Form
action:
POST
/api/documents
with
multipart
file.
«component»
/documents/bulk-edit
[SvelteKit
Route]
Multi-document
metadata
editor.
Loader:
GET
/api/documents/incomplete.
Requires
WRITE_ALL
(redirects
otherwise).
Action:
PATCH
/api/documents/bulk.
«component»
/enrich/[id]
[SvelteKit
Route]
Guided
enrichment
workflow.
Loader:
GET
/api/documents/{id}.
Progressively
saves
annotations
and
transcription
blocks.
«component»
/api/persons
(SvelteKit
API)
[SvelteKit
Server
Route]
Proxies
GET
/api/persons?q=...
to
backend
for
PersonTypeahead
suggestions.
«component»
/api/tags
(SvelteKit
API)
[SvelteKit
Server
Route]
Proxies
GET
/api/tags
to
backend
for
TagInput
autocomplete.
«component»
PersonTypeahead.svelte
[Svelte
Component]
Async
autocomplete
for
selecting
a
person.
Debounces
input,
calls
/api/persons?q=.
«component»
TagInput.svelte
[Svelte
Component]
Multi-tag
input.
Supports
free-text
entry
and
selecting
existing
tags
from
/api/tags.
«person»
User
«container»
API
Backend
[Spring
Boot]
Searches
and
browses
[HTTPS
/
Browser]
GET
/api/documents/search,
GET
/api/persons
[HTTP
/
JSON]
GET
/api/documents/{id},
GET
/api/documents/{id}/file
[HTTP
/
JSON
+
Binary]
PUT
/api/documents/{id}
[HTTP
/
Multipart]
GET
/api/persons,
POST
/api/documents
[HTTP
/
JSON
+
Multipart]
GET
/api/documents/incomplete,
PATCH
/api/documents/bulk
[HTTP
/
JSON]
GET/POST
/api/transcription,
POST
/api/documents/{id}/annotations
[HTTP
/
JSON]
Uses
for
sender/receiver
filter
Uses
for
sender/receiver
selection
Uses
for
sender
selection
Uses
for
tag
management
Fetches
suggestions
[HTTP]
Fetches
existing
tags
[HTTP]
GET
/api/persons
[HTTP
/
JSON]
GET
/api/tags
[HTTP
/
JSON]
Reference in New Issue
View Git Blame
Copy Permalink