mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 17:39:57 +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/
83 lines
2.6 KiB
Markdown
83 lines
2.6 KiB
Markdown
# 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
|
|
|
|
1. **ERP-Grundlagen** für Stammdatenverwaltung, Auftragsabwicklung und Fakturierung
|
|
2. **HACCP-Compliance** - Vollständiges QM-System als Kernmehrwert für kleine Betriebe
|
|
3. **Rezeptur-Management** - Mehrstufige Rezepturen mit Chargen-Tracking und Rückverfolgbarkeit
|
|
4. **Produktionsplanung** - Verkaufstrends-Analyse zur Vermeidung von Überproduktion
|
|
5. **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
|
|
|
|
1. ✅ Bounded Contexts dokumentieren
|
|
2. ✅ Aggregates für Core BCs modellieren
|
|
3. ⏳ Invarianten detailliert ausarbeiten
|
|
4. ⏳ Java-Code generieren
|
|
5. ⏳ 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`
|