mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 14:09:34 +01:00
- Move Java backend to backend/ directory - Create frontend/ directory for TypeScript TUI and future WebUI - Update .gitignore for Node.js and worktrees - Update README.md with new repository structure - Copy documentation to backend/
2.6 KiB
2.6 KiB
DDD Domain Model - Effigenix Fleischerei-ERP
Erstellt: 2026-02-17 Technologie: Java 21+ Architektur: Domain-Driven Design + Clean Architecture
Überblick
Dieses Dokument beschreibt das Domain-Driven Design (DDD) Modell für das Effigenix Fleischerei-ERP System.
Projektziele
- ERP-Grundlagen für Stammdatenverwaltung, Auftragsabwicklung und Fakturierung
- HACCP-Compliance - Vollständiges QM-System als Kernmehrwert für kleine Betriebe
- Rezeptur-Management - Mehrstufige Rezepturen mit Chargen-Tracking und Rückverfolgbarkeit
- Produktionsplanung - Verkaufstrends-Analyse zur Vermeidung von Überproduktion
- Mehrfilialen-Unterstützung - Zentrale Produktion mit Belieferung mehrerer Filialen
DDD-Phasen
Phase 0: Technologie-Auswahl ✅
- Sprache: Java 21+
- Patterns: Result Types, Sealed Interfaces, Pattern Matching
- Architektur: Clean Architecture (Domain → Application → Infrastructure)
Phase 1: Domain Discovery ✅
- Subdomain-Klassifizierung: Core, Supporting, Generic
- DDD-Investment: Volles DDD für 7 Core Domains
Phase 2: Bounded Contexts ✅
- 11 Bounded Contexts identifiziert
- Context Map mit Beziehungen erstellt
- Ubiquitous Language für jeden BC definiert
Phase 3: Tactical Modeling ✅
- Aggregates identifiziert für alle Core BCs
- Entities und Value Objects definiert
- Invarianten dokumentiert
Phase 4: Invarianten (TODO)
- Detaillierte Invarianten-Dokumentation
- Enforcement Points definieren
Phase 5: Code-Generierung (TODO)
- Java-Code aus Aggregates generieren
- Repository Interfaces
- Use Cases
Phase 6: Validation (TODO)
- DDD-Rules-Checklist durchgehen
- Clean Architecture Compliance prüfen
Dokumentationsstruktur
docs/mvp/ddd/
├── 00-overview.md (dieses Dokument)
├── 01-domain-classification.md
├── 02-bounded-contexts.md
├── 03-ubiquitous-language.md
├── 04-production-bc.md
├── 05-quality-bc.md
├── 06-labeling-bc.md
├── 07-inventory-bc.md
├── 08-procurement-bc.md
├── 09-filiales-bc.md
└── 10-supporting-bcs.md
Nächste Schritte
- ✅ Bounded Contexts dokumentieren
- ✅ Aggregates für Core BCs modellieren
- ⏳ Invarianten detailliert ausarbeiten
- ⏳ Java-Code generieren
- ⏳ Validierung durchführen
Referenzen
- Feature-Definition:
docs/mvp/2026-02-15-fleischerei-erp-feature-definition.md - Abhängigkeitsanalyse:
docs/mvp/2026-02-16-abhangigkeitsanalyse-fleischerei-erp.md - Java Style Guide:
.claude/skills/ddd-model/languages/java/style-guide.md - DDD Rules:
.claude/skills/ddd-model/rules/ddd-rules.md