docs: add project overview with quickstart and screenshots
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# HartOMat
|
||||
|
||||
HartOMat ist eine CAD-, Medien- und Render-Automatisierungsplattform für technische Produktbilder. Das System kombiniert STEP/CAD-Import, Materialzuordnung, Produkt- und Asset-Verwaltung, Pricing/Output-Typen, Blender-Render-Templates und einen node-basierten Workflow-Editor, ohne den bestehenden Legacy-Produktionspfad zu brechen.
|
||||
|
||||
Eine ausführlichere Projektübersicht mit Screenshots gibt es in [docs/PROJECT_OVERVIEW.md](docs/PROJECT_OVERVIEW.md).
|
||||
|
||||
## 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
|
||||
|
||||
## 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`
|
||||
|
||||
### Nützliche Betriebsbefehle
|
||||
|
||||
```bash
|
||||
./scripts/restart.sh
|
||||
./scripts/restart.sh --build
|
||||
./scripts/restart.sh backend
|
||||
./scripts/stop.sh
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## 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.
|
||||
|
||||
## Screenshots
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## 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)
|
||||
|
||||
## 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
|
||||
```
|
||||
@@ -0,0 +1,108 @@
|
||||
# HartOMat Project Overview
|
||||
|
||||
## Überblick
|
||||
|
||||
HartOMat ist eine Produktionsplattform für technische Visualisierung. Die Anwendung verbindet CAD-Import, Datenaufbereitung, Material-Mapping, Produkt- und Asset-Verwaltung sowie eine Blender-basierte Render-Pipeline in einer gemeinsamen Oberfläche. Parallel dazu wird die Render-Orchestrierung von einem Legacy-Workflow auf ein node-basiertes Produktionsmodell migriert, ohne dass der bisherige Produktionsweg ausfallen darf.
|
||||
|
||||
## Was das System heute abdeckt
|
||||
|
||||
- STEP/CAD-Import mit nachgelagerter Aufbereitung
|
||||
- Produkt-, Medien-, Order- und Admin-Oberflächen
|
||||
- Render Templates für definierte Licht- und Kamera-Setups
|
||||
- Output Types als steuerbare Produktionsprofile
|
||||
- Graph-basierter Workflow-Editor mit Legacy-Kompatibilität
|
||||
- Worker-basierte Renderausführung mit Docker, Celery und Blender
|
||||
|
||||
## Laufende Architekturidee
|
||||
|
||||
Das Zielbild ist eine modulare Produktionskette, in der einzelne Prozessschritte als wiederverwendbare Backend-Module im Workflow-Editor verfügbar sind. Dazu gehören insbesondere:
|
||||
|
||||
- CAD-Import und Dateiauflösung
|
||||
- Geometrie- und GLB-Aufbereitung
|
||||
- Materialzuordnung und Auto-Population
|
||||
- Template-Auflösung
|
||||
- Blender-Rendering
|
||||
- Ergebnis-Persistierung und Benachrichtigung
|
||||
|
||||
Der Legacy-Weg bleibt dabei als Sicherheitsnetz parallel aktiv.
|
||||
|
||||
Weiterführende Architektur- und Migrationsdokumente:
|
||||
|
||||
- [WORKFLOW_MIGRATION_PLAN.md](workflows/WORKFLOW_MIGRATION_PLAN.md)
|
||||
- [NODE_BASED_PRODUCTION_ARCHITECTURE.md](workflows/NODE_BASED_PRODUCTION_ARCHITECTURE.md)
|
||||
- [WORKFLOW_IMPLEMENTATION_BACKLOG.md](workflows/WORKFLOW_IMPLEMENTATION_BACKLOG.md)
|
||||
|
||||
## HowTo
|
||||
|
||||
### 1. Umgebung starten
|
||||
|
||||
Alle Kommandos werden vom Repo-Root aus ausgeführt.
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
./scripts/start.sh
|
||||
```
|
||||
|
||||
Danach sind standardmäßig erreichbar:
|
||||
|
||||
- Frontend: `http://localhost:5173`
|
||||
- Backend API: `http://localhost:8888/docs`
|
||||
- MinIO Console: `http://localhost:9001`
|
||||
|
||||
### 2. Mit lokalem Admin anmelden
|
||||
|
||||
Der Backend-Startprozess führt Migrationen und Seeds aus. Für lokale Entwicklungsumgebungen ist standardmäßig ein Admin-Benutzer vorhanden:
|
||||
|
||||
- E-Mail: `admin@hartomat.com`
|
||||
- Passwort: `Admin1234!`
|
||||
|
||||
### 3. Zentrale Bereiche im UI
|
||||
|
||||
- `/` zeigt Dashboard, KPIs und den operativen Einstieg
|
||||
- `/products` und einzelne Produktseiten bündeln Medien, Vorschauen und Produktdaten
|
||||
- `/admin` verwaltet Output Types, Render Templates, Asset Libraries und Systemeinstellungen
|
||||
- `/workflows` ist die Arbeitsfläche für Legacy-kompatible Graph-Workflows
|
||||
|
||||
### 4. Stack steuern
|
||||
|
||||
```bash
|
||||
./scripts/restart.sh
|
||||
./scripts/restart.sh --build
|
||||
./scripts/restart.sh backend
|
||||
./scripts/stop.sh
|
||||
docker compose ps
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Screenshots
|
||||
|
||||
### Dashboard
|
||||
|
||||

|
||||
|
||||
Das Dashboard ist der operative Einstieg in Produkte, Aufträge, KPIs und offene Prozessschritte.
|
||||
|
||||
### Workflow Editor
|
||||
|
||||

|
||||
|
||||
Der Workflow-Editor ist die Zieloberfläche für die modulare Produktionskette. Hier werden Legacy-Bridge-Nodes und graph-native Nodes zusammengeführt.
|
||||
|
||||
### Product Detail
|
||||
|
||||

|
||||
|
||||
Auf der Produktdetailseite laufen Geometrie, Medien, Materialzuordnung, Vorschau und Folgeaktionen zusammen.
|
||||
|
||||
### Admin
|
||||
|
||||

|
||||
|
||||
Die Admin-Oberfläche bündelt die Konfiguration von Render Templates, Output Types, Asset Libraries und Systemparametern.
|
||||
|
||||
## Betriebsnotizen
|
||||
|
||||
- Docker Compose nutzt den Stack-Namen `hartomat`.
|
||||
- Der Backend-Container führt beim Start Migrationen und Seeds aus.
|
||||
- GPU-Rendering ist auf den Blender-Worker ausgelegt und erwartet funktionierende Host-/Docker-GPU-Weitergabe.
|
||||
- Für tiefergehende Workflow- und Paritätsarbeit liegen zusätzliche Dokumente unter [`docs/workflows/`](workflows/).
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 70 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 148 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 126 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 307 KiB |
Reference in New Issue
Block a user