managarten/docs/MODULE_REGISTRY.md
Till JS 394aa79328 feat(invoices): close Phase-2 gaps — finance cross-link + structured addresses
Three items from docs/plans/invoices-module.md §"Offene Punkte" that
actually block real-world dogfooding:

1. Bezahlte Rechnung → Finance-Einnahme

  - financeStore.upsertTransactionFromInvoice(): deterministic id
    (invoice-tx-{invoiceId}) so marking the same invoice paid twice
    updates instead of duplicating. Uses table.put for the upsert.
  - invoicesStore.markPaid() calls it after the status transition,
    decrypts to get the gross + snapshot, converts minor→major for
    the finance row, formats description as "Rechnung {number} — {client}".
  - Best-effort: the call is try/catched so the invoice write (the
    thing the user initiated) never fails because of a finance bridge
    hiccup. Logs a warning instead.
  - Multi-currency caveat: finance's bare-number model loses the
    currency — documented in the upsert helper's comment. Works for
    single-currency freelancers (the 95% case).

2. Strukturierte Adressen für QR-Bill

  - LocalInvoiceSettings gains senderStreet/Zip/City/Country (nullable,
    so existing rows don't need a migration). Encryption registry
    updated to cover the new fields — same sensitivity tier as the
    legacy senderAddress blob.
  - InvoiceClientSnapshot gains street/zip/city/country, same shape
    as Debtor.
  - qr-bill.buildQRBillData prefers structured fields; falls back to
    parseAddress(senderAddress) for users who haven't touched the new
    settings form. Same preference chain on the client/debtor side.
  - PDF header + DetailView recipient block prefer structured too —
    stays in lockstep with what the QR-Bill reads.
  - SenderProfileForm replaces the single textarea with four labeled
    inputs. Legacy free-text address moves behind a <details> as a
    "weird edge case" escape hatch (Postfach, c/o etc.).
  - ClientPicker: same split, with contacts-source mapping using
    structured fields directly (contacts already have street/postalCode/
    city so no info loss).
  - Three new qr-bill tests cover the preference order: structured
    wins, legacy falls back, malformed snapshot omits debtor.

3. MODULE_REGISTRY.md

  - Added `invoices` under "Finanzen" with the cross-link note.

Tests: 48/48 green (up from 45), 0 type errors. Open Phase-2/3 items
still parked: camt.053 bank reconciliation, number-sequence multi-
device collision, unfreezing the paid→void edge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 18:58:18 +02:00

150 lines
6.6 KiB
Markdown

# Mana Module Registry
Alle 76 Module der Mana-App (`apps/mana/apps/web/src/lib/modules/`).
---
## Produktivität & Organisation (9)
| Modul | Name | Beschreibung |
|---|---|---|
| `todo` | Todo | Task-Management mit Projekten, Labels, Subtasks, Recurring |
| `calendar` | Kalender | Kalender mit wiederkehrenden Events und Reminders |
| `notes` | Notes | Leichtgewichtige Notizen mit Suche, Farb-Tags, Pinning |
| `contacts` | Kontakte | Kontaktverwaltung mit Gruppen, Tags und Notizen |
| `times` | Times | Zeiterfassung mit Timern, Projekten, Reports, Weltuhr |
| `goals` | Ziele | Cross-Module-Ziele mit automatischem Fortschritts-Tracking |
| `automations` | Automations | Workflow-Automatisierung und Smart-Triggers |
| `inventory` | Inventory | Besitz verwalten mit Fotos, Quittungen, Garantien |
| `calc` | Calc | Taschenrechner (Standard, Scientific, Programmer, Unit-Conversion) |
## Gesundheit & Wellness (11)
| Modul | Name | Beschreibung |
|---|---|---|
| `body` | Body | Workout-Logging, Progressive Overload, Messungen, Energie-Checks |
| `food` | Food (Essen) | AI-gestütztes Ernährungstracking mit Foto-Analyse |
| `drink` | Drink | Getränke-Tracking mit Tageszielen und Favoriten |
| `habits` | Habits | Schnelles Tally-Tracking für Gewohnheiten mit Streaks |
| `sleep` | Sleep | Schlaf-Tracking mit Qualität, Trends, Traum-Verlinkung |
| `period` | Periode | Menstruations-Tracking mit Vorhersagen und Phasen-Erkennung |
| `stretch` | Stretch | Mobility-Assessments und geführte Dehn-Routinen |
| `meditate` | Meditate | Meditations-Timer, Atemübungen, Body-Scans |
| `rituals` | Rituale | Geführte Sequenzen — utility (Daten-Erfassung) + ceremony (Präsenz) |
| `mood` | Mood | Stimmungs-Tracking mehrmals täglich mit Kontext und Mustern |
| `moodlit` | Moodlit | Beruhigende Ambient-Beleuchtung mit animierten Farbverläufen |
## Kreativität & Medien (8)
| Modul | Name | Beschreibung |
|---|---|---|
| `music` | Music | Songs, Playlists und Musik-Projekte verwalten |
| `picture` | ManaPicture | AI-Bildgenerierung |
| `photos` | Photos | Foto-Management mit Alben, Tags und Favoriten |
| `presi` | Presi | Präsentationen mit AI-Design-Vorschlägen |
| `cards` | Cards | AI-generierte Flashcards mit Spaced Repetition |
| `recipes` | Rezepte | Rezepte sammeln mit Zutaten und Schritten |
| `library` | Bibliothek | Bücher, Filme, Serien, Comics — Status, Rating, Fortschritt |
| `storage` | Storage | Cloud-Storage mit Ordnern, Versionierung und Sharing |
## Wissen & Lernen (7)
| Modul | Name | Beschreibung |
|---|---|---|
| `context` | Context | AI-gestütztes Wissensmanagement mit Spaces |
| `kontext` | Kontext | Universelles Kontext-Dokument für AI und Cross-Module-Referenzen |
| `questions` | Questions | Fragen sammeln, AI-Research für Antworten |
| `skilltree` | SkillTree | Lernfortschritt tracken mit Skills und Achievements |
| `wisekeep` | WiseKeep | Weisheiten aus Videos und Texten extrahieren |
| `quiz` | Quiz | Custom-Quizzes erstellen und spielen |
| `guides` | Guides | Schritt-für-Schritt-Anleitungen mit Run-History |
## Journaling & Reflexion (5)
| Modul | Name | Beschreibung |
|---|---|---|
| `journal` | Journal | Tägliches Journaling mit Mood, Tags und Rückblicken |
| `dreams` | Dreams | Träume festhalten mit Mood, Lucid-Status, Symbolen |
| `memoro` | Memoro | Voice-Memos in durchsuchbares Wissen umwandeln |
| `firsts` | Firsts | "Erste Male" tracken — von Traum zur Realität |
| `quotes` | Quotes | Inspirierende Zitate und Weisheiten |
## Social & Kommunikation (5)
| Modul | Name | Beschreibung |
|---|---|---|
| `chat` | ManaChat | AI-Chat-Assistent für Gespräche und kreative Aufgaben |
| `events` | Events | Veranstaltungen planen mit Gästelisten, RSVP, Bring-Listen |
| `mail` | ManaMail | E-Mail-Client mit AI-Summaries und Smart Reply |
| `who` | Who | Mit historischen Persönlichkeiten chatten (Ratespiel) |
| `news` | News Hub | Kuratierter News-Feed mit persönlicher Leseliste |
## Orte & Wetter (4)
| Modul | Name | Beschreibung |
|---|---|---|
| `places` | Places | Location-Tracking, Orte erstellen, Bewegungshistorie |
| `plants` | Plants | Pflanzen verwalten mit Gieß-Erinnerungen und Pflege-Logs |
| `citycorners` | CityCorners | Stadtführer für Konstanz |
| `wetter` | Wetter | Open-Meteo Wetter, DWD-Warnungen, Regen-Nowcast, Multi-Model-Vergleich |
## Finanzen (3)
| Modul | Name | Beschreibung |
|---|---|---|
| `finance` | Finance | Einnahmen/Ausgaben-Tracking mit Kategorien und Budgets |
| `invoices` | Rechnungen | Rechnungen stellen (PDF + Schweizer QR-Bill), Mail-Versand, Zahlungs-Tracking. Bezahlte Rechnungen erscheinen automatisch als Einnahme im Finance-Modul. |
| `credits` | Credits & Abo | Credit-Verwaltung und Subscription-Management |
## Tagesübersicht (2)
| Modul | Name | Beschreibung |
|---|---|---|
| `myday` | Mein Tag | Tagesübersicht: Tasks, Events, Wasser, Ernährung, Streaks |
| `activity` | Aktivität | Live-Activity-Stream über alle Module |
## Shopping (1)
| Modul | Name | Beschreibung |
|---|---|---|
| `wishes` | Wünsche | Wunschlisten mit Preis-Tracking und Prioritäten |
## AI-System (8)
| Modul | Name | Beschreibung |
|---|---|---|
| `companion` | Companion | Persönlicher AI-Assistent über alle Module |
| `ai-workbench` | AI Workbench | Zentrale für AI-Agents und Mission-Ausführung |
| `ai-missions` | AI Missions | Langlebige autonome AI-Aufträge |
| `ai-agents` | AI Agents | AI-Agenten erstellen und verwalten |
| `ai-policy` | AI Policy | Tool-Execution-Policies konfigurieren |
| `ai-health` | AI Health | AI-System-Monitoring und Metriken |
| `ai-insights` | AI Insights | AI-generierte Insights aus User-Daten |
| `news-research` | News Research | RSS-Feed-Discovery und Keyword-Suche |
## System & Infrastruktur (8)
| Modul | Name | Beschreibung |
|---|---|---|
| `settings` | Settings | App-Einstellungen (General, AI, Security, Credits, Data) |
| `profile` | Profil | User-Profil, Kontext-Interview (Text/Voice/Gespräch), Account |
| `themes` | Themes | Theme-Auswahl und Appearance |
| `admin` | Admin Panel | System-Administration und Monitoring |
| `api-keys` | API Keys | API-Keys für Third-Party-Integration |
| `help` | Help | Hilfe-Dokumentation und Support |
| `feedback` | Feedback | Bug-Reports und Feedback |
| `playground` | Playground | Dev/Test-Playground |
## Sonstige (5)
| Modul | Name | Beschreibung |
|---|---|---|
| `spiral` | Spiral | Spiral-Timeline-Visualisierung |
| `arcade` | Arcade | AI-generierte Browser-Games |
| `uload` | uLoad | URL-Shortener mit Click-Tracking |
| `complexity` | Complexity | System-Komplexitäts-Metriken |
| `core` | Core | Core-Infrastruktur und shared Exports |
---
**Gesamt: 76 Module** — davon ~54 public/published und ~22 intern/AI/System.