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:
37
frontend/src/lib/person/README.md
Normal file
37
frontend/src/lib/person/README.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# person (frontend)
|
||||
|
||||
UI for historical family members: typeahead selection, chip display, hover cards, genealogy graph, relationship management.
|
||||
|
||||
## What this domain owns
|
||||
|
||||
Components: `PersonTypeahead.svelte`, `PersonMultiSelect.svelte`, `PersonChip.svelte`, `PersonChipRow.svelte`, `PersonHoverCard.svelte`, `PersonTypeBadge.svelte`, `PersonTypeSelector.svelte`.
|
||||
Utilities: `personFormat.ts` (full-name formatting), `personLifeDates.ts` (birth/death display), `person-validation.ts` (form validation), `personHoverCard.ts` (hover-card controller).
|
||||
Sub-folders: `genealogy/` (Stammbaum view components), `relationship/` (relationship graph components).
|
||||
|
||||
## What this domain does NOT own
|
||||
|
||||
- Document content — displayed in `document/`
|
||||
- AppUser accounts — managed in `user/`
|
||||
|
||||
## Key components
|
||||
|
||||
| Component | Used in | Notes |
|
||||
| -------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `PersonTypeahead.svelte` | document edit, geschichte, search filters | Single-person selector with debounced typeahead. Exported for use by other domains. |
|
||||
| `PersonMultiSelect.svelte` | document edit (receivers) | Chip-based multi-person selector |
|
||||
| `PersonChip.svelte` | document rows, conversation view | Compact display chip with link and hover card |
|
||||
| `PersonHoverCard.svelte` | person chips | Floating card with person summary on hover |
|
||||
|
||||
## Cross-domain imports
|
||||
|
||||
- `shared/primitives/` — generic UI primitives
|
||||
- `shared/hooks/useTypeahead.svelte.ts` — typeahead keyboard/focus logic
|
||||
|
||||
## Accessibility notes
|
||||
|
||||
- `PersonChip` focus ring: `focus-visible:ring-2 focus-visible:ring-brand-navy`
|
||||
- `PersonTypeahead` dropdown navigable via keyboard (↑↓ Enter Escape)
|
||||
|
||||
## Backend counterpart
|
||||
|
||||
`backend/src/main/java/org/raddatz/familienarchiv/person/README.md`
|
||||
Reference in New Issue
Block a user