Architektur

Docuvate folgt Clean Architecture in API und Worker: Domain, Anwendungslogik, Infrastruktur und Präsentation sind getrennt.

Laufzeit

Die Web-App spricht mit der NestJS-API. Die API nutzt PostgreSQL für Metadaten, MinIO (S3-kompatibel) für Dateien, Valkey für Queues und Cache sowie den FastAPI-Worker für OCR, Embeddings und Chat-RAG.

Schichten

  • Domain: Entitäten, Ports, Domänenfehler (ohne Framework-Imports).
  • Application: Use Cases orchestrieren Ports.
  • Infrastructure: Postgres, MinIO, Valkey, HTTP-Worker, better-auth.
  • Presentation: Nest-Controller, React-Routen in der Web-App.

Zentrale Ports (Auswahl)

Details und Port-Tabelle finden Sie im Repository unter docs/architecture.md. OpenTelemetry ist im Standard-Compose aus; Produktion kann SigNoz oder Sentry anbinden.

  • DocumentRepository, ObjectStorage, ExtractionPort, SearchPort, DocumentChatPort.
  • FolderRepository, DuplicateRepository, EmbeddingPort.
  • Session-Auth über better-auth; Service-API-Schlüssel für Headless-Zugriff.