1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 19:30:16 +01:00
effigenix/backend/docs/mvp/ddd/00-overview.md
Sebastian Frick c2c48a03e8 refactor: restructure repository with separate backend and frontend directories
- 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/
2026-02-17 22:08:51 +01:00

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

  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