117 lines
3.9 KiB
Markdown
117 lines
3.9 KiB
Markdown
# HartOMat
|
|
|
|
HartOMat ist eine CAD-, Medien- und Render-Automatisierungsplattform für technische Produktvisualisierung. Das System verbindet STEP/CAD-Import, Materialzuordnung, Produkt- und Asset-Verwaltung, Render-Templates, Output-Typen und einen node-basierten Workflow-Editor in einer gemeinsamen Produktionsoberfläche, ohne den bestehenden Legacy-Pfad zu verlieren.
|
|
|
|
Eine ausführlichere Projektübersicht mit Screenshots gibt es in [docs/PROJECT_OVERVIEW.md](docs/PROJECT_OVERVIEW.md).
|
|
|
|
## Kurzüberblick
|
|
|
|
| Bereich | Zweck |
|
|
| --- | --- |
|
|
| CAD Intake | STEP-Dateien importieren, aufbereiten und in produktionsfähige Assets überführen |
|
|
| Product Ops | Produkte, Medien, Orders, Asset Libraries und Pricing zentral verwalten |
|
|
| Rendering | Blender-Templates, GPU-Worker und definierte Output Types für reproduzierbare Bilder |
|
|
| Workflows | Legacy-sichere und graph-native Produktionsketten parallel betreiben |
|
|
|
|
## Kernfunktionen
|
|
|
|
- Import von CAD- und Mediendaten mit nachgelagerter Material- und Metadatenverarbeitung
|
|
- Verwaltung von Produkten, Medien, Asset Libraries, Output Types, Pricing Tiers und Orders
|
|
- Blender-basierte Render-Pipeline mit Template-Unterstützung und GPU-Rendering
|
|
- Legacy-kompatible Produktionspfade parallel zu graph-basierten Workflows
|
|
- Workflow-Editor unter `/workflows` mit backend-definierten Nodes und Settings-Schemas
|
|
|
|
## Architektur
|
|
|
|
- Frontend: React, TypeScript, Vite
|
|
- Backend: FastAPI, SQLAlchemy, Alembic, Celery
|
|
- Infrastruktur: PostgreSQL, Redis, MinIO, Docker Compose
|
|
- Rendering: Blender Worker mit GPU-Support
|
|
|
|
## Screenshots
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
## Quick Start
|
|
|
|
### Voraussetzungen
|
|
|
|
- Docker und Docker Compose
|
|
- Optional für GPU-Rendering: NVIDIA-Treiber und funktionierende Docker-GPU-Weitergabe
|
|
|
|
### Lokaler Start
|
|
|
|
1. Konfiguration anlegen:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
2. Stack starten:
|
|
|
|
```bash
|
|
./scripts/start.sh
|
|
```
|
|
|
|
3. Oberflächen öffnen:
|
|
|
|
- Frontend: `http://localhost:5173`
|
|
- Backend API / Swagger: `http://localhost:8888/docs`
|
|
- MinIO Console: `http://localhost:9001`
|
|
|
|
### Standard-Login für lokale Seeds
|
|
|
|
Beim Container-Start werden Migrationen, Templates und ein Admin-Benutzer gesät. Für eine lokale Standardinstallation ist aktuell typischerweise verfügbar:
|
|
|
|
- E-Mail: `admin@hartomat.com`
|
|
- Passwort: `Admin1234!`
|
|
|
|
Das ist nur für lokale Entwicklung gedacht und sollte für jede nicht-lokale Umgebung sofort ersetzt werden.
|
|
|
|
### Nützliche Kommandos
|
|
|
|
```bash
|
|
./scripts/restart.sh
|
|
./scripts/restart.sh --build
|
|
./scripts/restart.sh backend
|
|
./scripts/stop.sh
|
|
docker compose logs -f
|
|
```
|
|
|
|
## Workflow-System
|
|
|
|
HartOMat führt zwei Welten parallel:
|
|
|
|
- den bestehenden Legacy-Produktionspfad für sichere Rückwärtskompatibilität
|
|
- den neuen node-basierten Graph-Workflow für modulare, editorfähige Produktionsketten
|
|
|
|
Die laufende Migrations- und Architekturarbeit ist hier dokumentiert:
|
|
|
|
- [docs/workflows/WORKFLOW_MIGRATION_PLAN.md](docs/workflows/WORKFLOW_MIGRATION_PLAN.md)
|
|
- [docs/workflows/NODE_BASED_PRODUCTION_ARCHITECTURE.md](docs/workflows/NODE_BASED_PRODUCTION_ARCHITECTURE.md)
|
|
- [docs/workflows/WORKFLOW_IMPLEMENTATION_BACKLOG.md](docs/workflows/WORKFLOW_IMPLEMENTATION_BACKLOG.md)
|
|
|
|
## Typischer Ablauf
|
|
|
|
1. CAD- oder Mediendaten importieren.
|
|
2. Produkt- und Materialdaten prüfen oder anreichern.
|
|
3. Output Type und Render Template wählen.
|
|
4. Legacy- oder Graph-Workflow ausführen.
|
|
5. Ergebnis im Produkt, Auftrag oder Medienbereich prüfen.
|
|
|
|
## Projektstruktur
|
|
|
|
```text
|
|
backend/ FastAPI-App, Domänenlogik, Migrationen, Worker
|
|
frontend/ React/Vite-Frontend
|
|
render-worker/ Blender- und Render-spezifische Laufzeit
|
|
scripts/ Start-, Restart-, Vergleichs- und QA-Skripte
|
|
docs/ Architektur-, Migrations- und Projektdokumentation
|
|
```
|