docs(legibility): add 18 per-domain README.md files (DOC-6)
Backend (9): document, person, tag, user, geschichte, notification, ocr, audit, dashboard. Frontend (8): document, person, tag, user, geschichte, notification, ocr, shared. OCR service (1): ocr-service/README.md. Each README covers: what the domain owns, explicit non-ownership, public surface (verified by grep against the codebase), internal layout, and cross-domain dependencies. Closes #400 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
36
frontend/src/lib/document/README.md
Normal file
36
frontend/src/lib/document/README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# document (frontend)
|
||||
|
||||
UI for the archive's core concept: viewing, uploading, editing, searching, bulk-selecting, and transcribing documents.
|
||||
|
||||
## What this domain owns
|
||||
|
||||
Components: `DocumentRow`, `DocumentThumbnail`, `DocumentTopBar`, `DocumentViewer`, `DocumentMetadataDrawer`, `DocumentEditLayout`, `DocumentStatusChip`, `UploadZone`, `BulkSelectionBar`, `BulkDropZone`.
|
||||
Utilities: `search.ts` (search-param helpers), `filename.ts` (filename formatting), `documentStatusLabel.ts` (i18n label mapping), `validateFile.ts` (upload validation), `groupDocuments.ts` (list grouping).
|
||||
Sub-folders: `annotation/`, `transcription/`, `viewer/`.
|
||||
|
||||
## What this domain does NOT own
|
||||
|
||||
- Person typeahead — `person/PersonTypeahead.svelte` (cross-domain import, allowed by ESLint rule)
|
||||
- Tag input — `tag/TagInput.svelte` (cross-domain import, allowed)
|
||||
- Shared discussion — `shared/discussion/` (comment/mention editor)
|
||||
|
||||
## Key components
|
||||
|
||||
| Component | Route used in | Notes |
|
||||
| --------------------------- | ---------------------------------- | ------------------------------------ |
|
||||
| `DocumentRow.svelte` | `/` (search results), admin queues | Compact document card with thumbnail |
|
||||
| `DocumentViewer.svelte` | `/documents/[id]` | PDF/image inline viewer |
|
||||
| `DocumentEditLayout.svelte` | `/documents/[id]/edit` | Full edit form with sticky save bar |
|
||||
| `UploadZone.svelte` | `/documents/new`, bulk upload | Drag-and-drop file drop area |
|
||||
| `BulkSelectionBar.svelte` | `/documents` bulk mode | Multi-select action bar |
|
||||
|
||||
## Cross-domain imports
|
||||
|
||||
- `person/PersonTypeahead.svelte` — sender / receiver selection
|
||||
- `tag/TagInput.svelte` — tag chip input
|
||||
- `ocr/OcrProgress.svelte` — job status indicator in the document header
|
||||
- `shared/primitives/BackButton.svelte`, `shared/discussion/` — shared UI
|
||||
|
||||
## Backend counterpart
|
||||
|
||||
`backend/src/main/java/org/raddatz/familienarchiv/document/README.md`
|
||||
Reference in New Issue
Block a user