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.