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?
| Pfad | Was | Wer liest das wann |
|---|---|---|
CLAUDE.md | Gebündelte Leitplanke / Guiding Principles (True North, Konventionen, Stack). | Zuerst — die Kurzfassung der Spielregeln. |
HANDOFF.md | Kompakter Stand: Entscheidungen mit IDs, offene Punkte, nächste Schritte. | Erstes Dokument für jede neue Session / jeden neuen Mitarbeiter. |
docs/README.md | Doku-Landkarte: alle docs/ nach Zweck gruppiert. | Zum Navigieren der Dokumentation. |
docs/fachlich/Lastenheft.md | Vollständige fachliche Spezifikation (Module R1–R12, IDs, Mermaid). | Wenn du die Master-Spec brauchst. |
docs/konventionen/agents.md | Konventionen 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 inserver/.dev.vars(gitignored), produktiv viawrangler secret put. Ohne diese Config liefert die Dokument-API503(kein Eigenbau-DMS, G-1).E-Signatur (Slice 4, optional):
SIGNATUR_PROVIDERwählt den Provider — MVPfake(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 Access —
AUTH_ENFORCED=trueverlangt den Access-Header (cf-access-authenticated-user-email), sonst401.AUTH_BOOTSTRAP_ADMIN(E-Mail) ist der Deploy-Erstzugang als Admin;AUTH_DEFAULT_ROLLE(Defaultberater) gilt für nicht zugewiesene Nutzer. Lokal ohne Access (AUTH_ENFORCEDungesetzt) 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 indocs-site/src/glossar/glossar.mjs(Single Source),docs/glossar/Glossar.mdwird 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
- Repo clonen oder ziehen.
- In der ersten Nachricht sagen: „Lies
HANDOFF.mdunddocs/konventionen/agents.md." — damit hat der Agent Stand + Konventionen. - Branch-first arbeiten (nie direkt auf
main),HANDOFF.md+docs/betrieb/Timesheet.mdje PR pflegen.
Konventionen (Kurz)
- IDs überall: Globale Prinzipien
G-1..5, ModuleR1..R12, FelderRx-F##, ArchitekturA-n, VereinfachungenS-n, offene PunkteOP-<Thema>-n, Use-CasesUC-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).