Zum Hauptinhalt springen

Medidentas Digital — Plattform für Kunden-Lebenszyklus & Beratungsdokumentation

Repository für die Entwicklung von Medidentas Digital — einer Plattform, die den Kunden-Lebenszyklus eines beratungs-/vermittlungsnahen Betriebs koordiniert: Kundenonboarding, Dokumenten-Verwaltung (geschlossene Ablage in R2; NextCloud ausschließlich als Read-Only-Sicht), Unterschriftenverwaltung (via DocuSign/PandaDoc), Wiedervorlagen und Beratungsdokumentation. Dieses Repo ist die einzige Quelle der Wahrheit: Spezifikation, Architektur-Entscheidungen, Konventionen und (künftig) Code liegen hier zusammen ("Everything as Code").

Leitgedanke: Standardwerkzeuge anbinden statt nachbauen (G-1) — der Eigenwert von Medidentas Digital liegt in der Orchestrierung zwischen den Werkzeugen, nicht in einem weiteren DMS oder Signatur-Tool.

GitHub: https://github.com/drkv-com/medidentas


Was ist hier drin?

PfadWasWer liest das wann
CLAUDE.mdGebündelte Leitplanke / Guiding Principles (True North, Konventionen, Stack).Zuerst — die Kurzfassung der Spielregeln.
HANDOFF.mdKompakter Stand: Entscheidungen mit IDs, offene Punkte, nächste Schritte.Erstes Dokument für jede neue Session / jeden neuen Mitarbeiter.
docs/README.mdDoku-Landkarte: alle docs/ nach Zweck gruppiert.Zum Navigieren der Dokumentation.
docs/fachlich/Lastenheft.mdVollständige fachliche Spezifikation (Module R1–R13, IDs, Mermaid).Wenn du die Master-Spec brauchst.
docs/konventionen/agents.mdKonventionen für KI-/Coding-Agenten (md+mermaid, ID-System, Workflow).Bei jeder neuen Session zusammen mit HANDOFF.md.
server/Worker-API (Cloudflare Workers · Hono · Drizzle/D1) — Slice 1: Mandant + Onboarding.App-Backend.
client/Web-Client (Angular) — Cockpit + Mandant-Detail.App-Frontend.
docs-site/Docusaurus-Doku-Site (rendert docs/ inkl. Mermaid + Glossar-Sprechblasen).Doku-Rendering / Veröffentlichung.

Status

Pre-MVP (0.127.1) — Slices 1–13 feature-complete + Dentmarking T1–T7 + UX-Wellen 1–11 (inkl. Akten-Cockpit-Redesign, Overlay-Dialog-A11y & Meisterwerk-Restmeile) + Design-Handoff-Import mit Pixel-Fidelity-Pass gegen die .dc.html, live betrieben. End-to-end gebaut: Mandant + Onboarding (R1/R2), Beratungsaufträge (3-Ebenen-Modell Person · Auftrag · Artefakte, 9-Produkt-Katalog, MED-D-95), Dokumente / R2-Ablage (NextCloud read-only-Sicht: fachlich entschieden, Umsetzung offen — MED-OP-FILES-1) (R3/R9), Wiedervorlagen / Cron + Delegation (R5/R7), Unterschriften / E-Signatur (R4), Beratungsdoku / KI-Check + Pflichtangaben (R6), Identität & Rollen / Cloudflare Access (R7, RBAC + echter Audit-Actor), Audit-Log (R8/G-4, append-only + hash-verkettet), Dokumenten-Automatisierung (R12) und Leistungszeit (R13) — Worker-API (server/) + Angular-Client (client/) auf dem Cloudflare-Stack (A-4), durchgängig auf der World-2-Cockpit-Palette (kein zweifarbiger Übergangszustand mehr, MED-D-128…130). Jüngster Stand: Akte im Cockpit-Design (Akten-Cockpit-Redesign, MED-D-156) inkl. Mandat-Zeiterfassung (MED-D-157), ein serverseitiger Aktiver Timer je Benutzer (MED-D-172), ein-/ausklappbare Wiedervorlagen (MED-D-176) und append-only versionierte Stammdaten (Stammdaten-Versionierung, MED-D-179). Die App ist live auf app.medidentas.com: eine Subdomain bedient UI + /api über einen Worker (Static Assets, D1 EU, Cloudflare Access, Auto-Deploy bei Push auf main) — Deploy-Runbook: docs/architektur/Deploy.md. Der Sprung auf 1.0.0 wartet auf echte Integrations-Adapter (DocuSign/PandaDoc, E-Mail, CRM) statt der Fakes + HQ-Eigentümer-Zuordnung der Domain; Details: docs/fachlich/MVP-Scope.md.

App lokal (Slices 1–13)

# Backend — Typecheck + Tests (692 Vitest in 57 Dateien)
cd server && npm install && npm test
# lokal serven (D1 via wrangler; benötigt Cloudflare-Login + d1-Anlage)
npm run dev

# Frontend — Produktions-Build / Dev-Server
cd client && npm install && npm run build
npm start # → http://localhost:4200 (API-Basis via window.__MD_API__ überschreibbar)

NextCloud (Slice 2, optional): Die Dokument-Funktionen brauchen die Secrets NEXTCLOUD_URL, NEXTCLOUD_USER, NEXTCLOUD_APP_PASSWORD — lokal in server/.dev.vars (gitignored), produktiv via wrangler secret put. Ohne diese Config liefert die Dokument-API 503 (kein Eigenbau-DMS, G-1).

E-Signatur (Slice 4, optional): SIGNATUR_PROVIDER wählt den Provider — MVP fake (Staging/Demo); echte DocuSign/PandaDoc-Adapter sind die OP-SIGN-1-Verfeinerung. Braucht zusätzlich NextCloud (Rückablage der signierten Fassung). Ohne Provider → 503.

Identität & Rollen (Slice 7): Produktiv hinter Cloudflare AccessAUTH_ENFORCED=true verlangt den Access-Header (cf-access-authenticated-user-email), sonst 401. AUTH_BOOTSTRAP_ADMIN (E-Mail) ist der Deploy-Erstzugang als Admin; AUTH_DEFAULT_ROLLE (Default berater) gilt für nicht zugewiesene Nutzer. Lokal ohne Access (AUTH_ENFORCED ungesetzt) läuft ein Dev-Akteur (admin).

Doku-Site lokal starten (Docusaurus)

cd docs-site
npm install
npm start # → http://localhost:3000 (rendert ../docs inkl. Mermaid + Glossar-Tooltips)

Build (wie in der CI):

cd docs-site
npm run build # statische Site nach docs-site/build/

Die Markdown-Dateien unter docs/ sind die Quelle; die Site rendert sie in-place. Mermaid-Diagramme rendern auch direkt in GitHub. Glossar-Begriffe werden in der Doku automatisch mit Sprechblasen versehen — gepflegt in docs-site/src/glossar/glossar.mjs (Single Source), docs/glossar/Glossar.md wird daraus generiert (npm run glossar, läuft auch im Build).

Checks (on demand + CI)

bash scripts/check-doc-consistency.sh # tote Links + Log-Hygiene (warnt, blockt nicht)
cd docs-site && npm run build # Doku-Site baut durch

Diese Schritte sind 1:1 die CI-Jobs (.github/workflows/ci.yml). Die Doku-Site wird bei Push auf main automatisch deployt (.github/workflows/docs-deploy.yml, Cloudflare Pages).

Mitarbeiten — neue Session

  1. Repo clonen oder ziehen.
  2. In der ersten Nachricht sagen: "Lies HANDOFF.md, docs/fachlich/Lastenheft.md und docs/konventionen/agents.md." — damit hat der Agent Stand + fachliche Spec + Konventionen.
  3. Branch-first arbeiten (nie direkt auf main), HANDOFF.md + docs/betrieb/Timesheet.md je PR pflegen.

Konventionen (Kurz)

  • IDs überall: Globale Prinzipien G-1..G-8, Module R1..R13, Felder Rx-F##, Architektur A-n, Vereinfachungen S-n, offene Punkte OP-<Thema>-n, Use-Cases UC-x. Beim Commit ID referenzieren.
  • Single Source of Truth: alle Entscheidungen, Specs, Code im Repo; überlebenswertes Konversations-Wissen landet als .md.
  • Standardwerkzeuge bevorzugen (G-1): integrieren statt nachbauen, Eigenbau begründen.

Lizenz

Aktuell privat / proprietär (kein Lizenz-Header).