# NEXARCH DMS Dokumentenmanagement-Modul von NEXARCH. Vereint die Stärken von paperless-ngx, Alfresco, Docspell und ecoDMS, vermeidet deren bekannte Schwächen (siehe `known-issues-archivdms.md` im `dms-kanban/`-Ordner). Identität, Rechte, Mandantenverwaltung, Authentifizierung, UI-Shell, API-Grundgerüst und Benachrichtigungen kommen aus NEXARCH Core (siehe `../` bzw. `../../core-kanban/`) — dieses Modul implementiert nur die DMS-eigene Logik. ## Setup Voraussetzung: Go 1.22+. ```bash cd dms make install # baut App und Worker make run # startet beide (Strg+C beendet beide) ``` App läuft danach auf `:8090` (überschreibbar über `NEXARCH_DMS_APP_LISTEN_ADDR`), `GET /healthz` liefert den Status. ## Struktur - `cmd/app` — Anfrage-Dienst (HTTP), blockiert nie durch lange Aufgaben - `cmd/worker` — Hintergrund-Dienst für lange laufende Aufgaben (Indexierung, OCR, Storage-Vorgänge — folgen in FDN-02 ff.) - `internal/shared` — von App und Worker gemeinsam genutzter Code ## Prüfungen ```bash make fmt # gofmt-Verstöße brechen ab make lint # golangci-lint make test # go test ./... ``` ## Branch- und Commit-Konvention Gleiche Konvention wie NEXARCH Core: - Branch je Ticket: `feature/-`, z. B. `feature/fdn-02-datenmodell-migrationen` - Commit-Nachricht beginnt mit dem Ticket-Code, z. B. `FDN-02: datenmodell & migrationen` - Ein Ticket = ein Branch. Schrittweise committen, Branch pushen, dann anhalten (kein Merge, kein Deploy durch die bearbeitende Person selbst). - Deutschsprachige Oberflächentexte, englischsprachige Bezeichner im Code. - Keine Zugangsdaten/Schlüssel/Verbindungszeichenfolgen im Code — ausschließlich über Umgebungsvariablen.