Zum Hauptinhalt springen

Medidentas — Plattform für Kunden-Lebenszyklus & Beratungsdokumentation

Repository für die Entwicklung von Medidentas — einer Plattform, die den Kunden-Lebenszyklus eines beratungs-/vermittlungsnahen Betriebs koordiniert: Kundenonboarding, Dokumenten-Verwaltung (via NextCloud), 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 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–R12, 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.9.1) — MVP-Kern feature-complete, deploy-fertig. Slices 1–8 sind end-to-end gebaut: Mandant + Onboarding (R1/R2), Dokumente / NextCloud (R3/R9), Wiedervorlagen / Cron (R5), Unterschriften / E-Signatur (R4), Beratungsdoku / KI-Check (R6), Identität & Rollen / Cloudflare Access (R7, RBAC + echter Audit-Actor), Audit-Log (R8/G-4, append-only + hash-verkettet) und Dokumenten-Automatisierung (R12: Standarddokument aus Stammdaten befüllen → ablegen → zur Unterschrift) — Worker-API (server/) + Angular-Client (client/) auf dem Cloudflare-Stack (A-4). Eine Subdomain (app.medidentas.com) bedient UI + /api über einen Worker (Static Assets) — Deploy-Runbook: docs/architektur/Deploy.md. Der Sprung auf 1.0.0 wartet auf Deploy-Reife (Domain-Transfer medidentas.com → HQ / OP-DEPLOY-1 + echte D1-Anlage + Access-Policies + echte Integrations-Adapter); Details: docs/fachlich/MVP-Scope.md.

App lokal (Slices 1–8)

# Backend — Typecheck + Tests (92 Vitest)
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 und docs/konventionen/agents.md." — damit hat der Agent Stand + 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..5, Module R1..R12, 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).