mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 10:19:35 +01:00
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/
This commit is contained in:
parent
ec9114aa0a
commit
c2c48a03e8
141 changed files with 734 additions and 9 deletions
233
backend/docs/mvp/ddd/03-ubiquitous-language.md
Normal file
233
backend/docs/mvp/ddd/03-ubiquitous-language.md
Normal file
|
|
@ -0,0 +1,233 @@
|
|||
# Ubiquitous Language - Glossar
|
||||
|
||||
**Datum:** 2026-02-17
|
||||
|
||||
Diese Datei definiert die **Ubiquitous Language** für jeden Bounded Context. Diese Begriffe müssen im Code (Klassennamen, Methoden, Variablen) exakt so verwendet werden.
|
||||
|
||||
---
|
||||
|
||||
## Production BC
|
||||
|
||||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||||
|--------------|--------------|-----|------------|
|
||||
| Rezept | Recipe | Aggregate | Mehrstufige Anleitung zur Herstellung eines Produkts aus Rohstoffen und Zwischenprodukten |
|
||||
| Zutat | Ingredient | Entity | Rohstoff oder Zwischenprodukt, das in einem Rezept verwendet wird |
|
||||
| Ausbeute | Yield | Value Object | Verhältnis zwischen Input (Rohmaterial) und Output (Endprodukt) nach Verarbeitungsverlusten, in Prozent |
|
||||
| Charge | Batch | Aggregate | Eindeutig identifizierte Produktionseinheit mit Datum, Rezept, Menge und verwendeten Rohstoffchargen |
|
||||
| Produktionsauftrag | Production Order | Aggregate | Auftrag zur Herstellung einer bestimmten Menge eines Produkts nach Rezept |
|
||||
| Rückverfolgbarkeit | Traceability | Concept | Lückenlose Dokumentation von Rohstoff-Charge → Produktions-Charge → Verkauf |
|
||||
| Zwischenprodukt | Intermediate Product | Concept | Produkt, das in Rezept A hergestellt wird und als Zutat in Rezept B verwendet wird |
|
||||
| Ausschuss | Waste | Value Object | Menge an Material, die während Produktion verloren geht oder unbrauchbar ist |
|
||||
| Rezeptur-Version | Recipe Version | Value Object | Versionsnummer eines Rezepts, um Änderungen nachvollziehbar zu machen |
|
||||
|
||||
---
|
||||
|
||||
## Quality BC (HACCP/QM)
|
||||
|
||||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||||
|--------------|--------------|-----|------------|
|
||||
| HACCP | HACCP | Concept | Hazard Analysis Critical Control Points - systematische Präventivmaßnahmen für Lebensmittelsicherheit |
|
||||
| Kritischer Kontrollpunkt | Critical Control Point (CCP) | Concept | Stelle im Prozess, an der Kontrolle notwendig ist, um Gefahren zu vermeiden |
|
||||
| Temperaturprotokoll | Temperature Log | Aggregate | Dokumentierte Temperaturmessung an kritischem Punkt (Kühlraum, Theke) mit Grenzwerten |
|
||||
| Reinigungsnachweis | Cleaning Record | Aggregate | Dokumentation einer durchgeführten Reinigung mit Datum, Person, Checkliste |
|
||||
| Reinigungsplan | Cleaning Plan | Aggregate | Vordefinierter Plan mit Intervallen und Checklisten für Reinigungsaufgaben |
|
||||
| Wareneingangskontrolle | Goods Receipt Inspection | Aggregate | Prüfung von Temperatur, MHD, Sichtkontrolle, Dokumenten bei Warenanlieferung |
|
||||
| Schulungsnachweis | Training Record | Aggregate | Zertifikat oder Nachweis einer absolvierten Schulung (HACCP, Hygiene) mit Gültigkeitsdatum |
|
||||
| Wartungsprotokoll | Maintenance Record | Aggregate | Dokumentation von Gerätewartungen (planmäßig oder Störung) mit Befund |
|
||||
| Messwert | Measurement | Value Object | Gemessener Wert mit Einheit (z.B. Temperatur in °C) |
|
||||
| Grenzwert | Critical Limit | Value Object | Minimal-/Maximalwert für CCP (z.B. Kühlraum: 2-7°C) |
|
||||
| Abweichung | Deviation | Concept | Überschreitung eines Grenzwerts oder Nichteinhaltung eines Verfahrens |
|
||||
| Korrekturmaßnahme | Corrective Action | Entity | Maßnahme zur Behebung einer Abweichung |
|
||||
|
||||
---
|
||||
|
||||
## Labeling BC
|
||||
|
||||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||||
|--------------|--------------|-----|------------|
|
||||
| Allergen | Allergen | Value Object | Einer der 14 EU-Hauptallergene, die kennzeichnungspflichtig sind |
|
||||
| Spurenkennzeichnung | Trace Declaration | Value Object | "Kann Spuren von X enthalten" bei gemeinsamer Verarbeitung |
|
||||
| Nährwerttabelle | Nutrition Facts Table | Entity | Rechtlich vorgeschriebene Angabe von Kalorien, Fett, Eiweiß, etc. pro 100g |
|
||||
| Qualitätssiegel | Quality Label | Value Object | Bio, Regional, Tierwohl-Zertifizierung |
|
||||
| Herkunftskennzeichnung | Origin Labeling | Value Object | Angabe des Herkunftslandes/-region für Rohstoffe |
|
||||
| Etikett | Label | Aggregate | Gedrucktes Etikett mit allen Pflichtangaben |
|
||||
| Pflichtangabe | Mandatory Declaration | Concept | Rechtlich vorgeschriebene Information auf Etikett (Name, Zutaten, Allergene, MHD, Hersteller) |
|
||||
| Allergenkennzeichnung | Allergen Declaration | Concept | Hervorhebung von Allergenen in Zutatenliste (z.B. **Milch**, **Gluten**) |
|
||||
| Allergene Matrix | Allergen Matrix | Aggregate | Übersichtstabelle: welches Produkt enthält welche Allergene (für Aushang) |
|
||||
| Zertifizierungsnummer | Certification Number | Value Object | Nummer des Bio-/Regional-/Tierwohl-Zertifikats |
|
||||
|
||||
---
|
||||
|
||||
## Inventory BC
|
||||
|
||||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||||
|--------------|--------------|-----|------------|
|
||||
| Bestand | Stock | Aggregate | Aktueller Bestand eines Artikels in einem Lagerort, chargengenau |
|
||||
| Lagerort | Storage Location | Value Object | Physischer Ort (Kühlraum, Tiefkühler, Trockenlager, Theke) |
|
||||
| Bestandsbewegung | Stock Movement | Aggregate | Veränderung des Bestands (Wareneingang, Produktion, Verkauf, Umbuchung) |
|
||||
| MHD | Best-Before Date | Value Object | Mindesthaltbarkeitsdatum, chargenspezifisch |
|
||||
| FEFO | First-Expired-First-Out | Concept | Verkaufspriorisierung nach MHD (ältestes MHD zuerst) |
|
||||
| Charge | Batch | Concept | Eindeutig identifizierte Menge eines Artikels mit gleicher Herkunft/Produktion |
|
||||
| Chargennummer | Batch Number | Value Object | Eindeutige Identifikation einer Charge (ProductionBatchId oder SupplierBatchId) |
|
||||
| Verfügbarer Bestand | Available Stock | Value Object | Bestand abzüglich Reservierungen |
|
||||
| Reservierung | Reservation | Entity | Vorgemerkter Bestand für Produktionsauftrag oder Kundenauftrag |
|
||||
| Schwund | Shrinkage | Concept | Bestandsverlust durch Verderb, Bruch, Diebstahl |
|
||||
| Inventur | Inventory Count | Aggregate | Physische Zählung des Bestands mit Soll-Ist-Abgleich |
|
||||
|
||||
---
|
||||
|
||||
## Procurement BC
|
||||
|
||||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||||
|--------------|--------------|-----|------------|
|
||||
| Bestellung | Purchase Order | Aggregate | Bestellung an Lieferant mit Artikeln, Mengen, Liefertermin |
|
||||
| Wareneingang | Goods Receipt | Aggregate | Annahme und Erfassung gelieferter Ware mit Qualitätsprüfung |
|
||||
| Lieferanten-Chargennummer | Supplier Batch Number | Value Object | Chargen-Nummer des Lieferanten für Rückverfolgbarkeit |
|
||||
| Bedarfsplanung | Demand Planning | Aggregate | Berechnung des Einkaufsbedarfs aus Produktionsplan und Lagerbestand |
|
||||
| Lieferschein | Delivery Note | Value Object | Vom Lieferanten mitgeliefertes Dokument |
|
||||
| Veterinärbescheinigung | Veterinary Certificate | Value Object | Gesetzlich vorgeschriebenes Dokument für Fleischwaren |
|
||||
| Qualitätszertifikat | Quality Certificate | Value Object | Bio-, Regional-, Tierwohl-Zertifikat des Lieferanten |
|
||||
| Bestellmenge | Order Quantity | Value Object | Bestellte Menge (kann von empfangener Menge abweichen) |
|
||||
| Mindestbestellmenge | Minimum Order Quantity | Value Object | Vom Lieferanten vorgegebene Mindestmenge |
|
||||
| Zahlungsziel | Payment Terms | Value Object | Vereinbarte Zahlungsfrist (z.B. "Netto 30 Tage") |
|
||||
| Lieferantenbewertung | Supplier Rating | Entity | Bewertung nach Qualität, Pünktlichkeit, Preis-Leistung |
|
||||
|
||||
---
|
||||
|
||||
## Filiales BC
|
||||
|
||||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||||
|--------------|--------------|-----|------------|
|
||||
| Filiale | Branch | Aggregate | Standort mit eigenem Bestand, ggf. eigener Produktion/Verkauf |
|
||||
| Filialtyp | Branch Type | Value Object | PRODUCTION_AND_SALES, SALES_ONLY, PRODUCTION_ONLY |
|
||||
| Interfilial-Transfer | Inter-Branch Transfer | Aggregate | Warenversand von Filiale A nach Filiale B mit Chargen-Tracking |
|
||||
| Zentrale Produktion | Central Production | Concept | Produktion an einem Standort für Belieferung mehrerer Filialen |
|
||||
| Verteilungsplan | Distribution Plan | Aggregate | Plan zur Verteilung eines Produktionsbatches an mehrere Filialen |
|
||||
| Liefertermin | Delivery Date | Value Object | Geplanter oder tatsächlicher Liefertermin für Interfilial-Transfer |
|
||||
| Transportdokument | Transport Document | Value Object | Lieferschein für interne Lieferung zwischen Filialen |
|
||||
| Filiallager | Branch Warehouse | Concept | Lagerbestand einer spezifischen Filiale |
|
||||
|
||||
---
|
||||
|
||||
## Master Data BC
|
||||
|
||||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||||
|--------------|--------------|-----|------------|
|
||||
| Artikel | Article | Aggregate | Produkt oder Rohstoff mit Stammdaten |
|
||||
| Verkaufseinheit | Sales Unit | Entity | Einheit, in der Artikel verkauft wird (Stück, kg, 100g) |
|
||||
| Preismodell | Price Model | Value Object | FIXED (fester Preis) oder WEIGHT_BASED (Preis × Gewicht) |
|
||||
| Lieferant | Supplier | Aggregate | Geschäftspartner, von dem Waren bezogen werden |
|
||||
| Kunde | Customer | Aggregate | Geschäftspartner, an den Waren verkauft werden |
|
||||
| Rahmenvertrag | Frame Contract | Entity | Langfristige Vereinbarung mit Kunde über Preise/Mengen |
|
||||
| Artikelnummer | Article Number (SKU) | Value Object | Eindeutige Identifikation eines Artikels |
|
||||
| Produktgruppe | Product Category | Value Object | Kategorisierung von Artikeln (z.B. "Wurst", "Aufschnitt", "Frischfleisch") |
|
||||
| Kundenpräferenz | Customer Preference | Value Object | Präferenz für Bio, Regional, Tierwohl, etc. |
|
||||
|
||||
---
|
||||
|
||||
## Sales BC
|
||||
|
||||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||||
|--------------|--------------|-----|------------|
|
||||
| Auftrag | Order | Aggregate | Kundenauftrag (Vorbestellung oder B2B-Auftrag) |
|
||||
| Auftragsart | Order Type | Value Object | PRE_ORDER (Vorbestellung), B2B_ORDER, WALK_IN (Ladenverkauf) |
|
||||
| Rechnung | Invoice | Aggregate | Rechnungsdokument mit Positionen und Betrag |
|
||||
| Lieferschein | Delivery Note | Aggregate | Dokument für Warenauslieferung (mit oder ohne Rechnungsfunktion) |
|
||||
| Gutschrift | Credit Note | Aggregate | Stornierung oder Teilstornierung einer Rechnung |
|
||||
| Zahlungsstatus | Payment Status | Value Object | OPEN, PAID, OVERDUE, CANCELLED |
|
||||
| Sammelrechnung | Collective Invoice | Concept | Monatliche Zusammenfassung mehrerer Lieferungen (B2B) |
|
||||
|
||||
---
|
||||
|
||||
## Scale Integration BC
|
||||
|
||||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||||
|--------------|--------------|-----|------------|
|
||||
| Waagensynchronisation | Scale Sync | Aggregate | Übertragung von Artikelstammdaten an Waage |
|
||||
| Bondaten | Bond Data | Aggregate | Verkaufsdaten aus Kassensystem |
|
||||
| Etikettendruck | Label Print | Concept | Druck von Etiketten an Waage mit aktuellem Gewicht |
|
||||
| TSE | Technical Security Equipment | Concept | Technische Sicherheitseinrichtung für Kassensysteme (Deutschland) |
|
||||
|
||||
---
|
||||
|
||||
## Shared Concepts (BC-übergreifend)
|
||||
|
||||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||||
|--------------|--------------|-----|------------|
|
||||
| Menge | Quantity | Value Object | Numerischer Wert mit Einheit (kg, g, Stück, Liter) |
|
||||
| Geld | Money | Value Object | Betrag mit Währung (z.B. 100 EUR) |
|
||||
| Zeitstempel | Timestamp | Value Object | Datum + Uhrzeit |
|
||||
| Benutzer-ID | User ID | Value Object | Eindeutige Identifikation eines Benutzers |
|
||||
| Status | Status | Value Object (Enum) | Zustand eines Objekts (z.B. ACTIVE, INACTIVE, PENDING) |
|
||||
|
||||
---
|
||||
|
||||
## Naming Conventions (Java)
|
||||
|
||||
### Packages
|
||||
```java
|
||||
com.effigenix.domain.production // Production BC
|
||||
com.effigenix.domain.quality // Quality BC
|
||||
com.effigenix.domain.labeling // Labeling BC
|
||||
com.effigenix.domain.inventory // Inventory BC
|
||||
com.effigenix.domain.procurement // Procurement BC
|
||||
com.effigenix.domain.filiales // Filiales BC (Plural!)
|
||||
com.effigenix.domain.masterdata // Master Data BC
|
||||
```
|
||||
|
||||
### Classes (Englisch!)
|
||||
```java
|
||||
// Aggregates: Singular noun
|
||||
Recipe, Batch, ProductionOrder
|
||||
TemperatureLog, CleaningRecord
|
||||
ProductLabel, AllergenMatrix
|
||||
Stock, StockMovement
|
||||
PurchaseOrder, GoodsReceipt
|
||||
Branch, InterBranchTransfer
|
||||
|
||||
// Value Objects: Descriptive noun
|
||||
RecipeId, BatchId, YieldPercentage
|
||||
Temperature, CriticalLimit
|
||||
AllergenType, NutritionFacts
|
||||
Quantity, Money, Timestamp
|
||||
```
|
||||
|
||||
### Methods (Englisch!)
|
||||
```java
|
||||
// Domain behavior (verbs)
|
||||
recipe.addIngredient(...)
|
||||
batch.complete(...)
|
||||
stock.withdraw(...)
|
||||
purchaseOrder.confirm(...)
|
||||
|
||||
// Factory methods
|
||||
Recipe.create(...)
|
||||
Batch.of(...)
|
||||
|
||||
// Getters (no "get" prefix)
|
||||
recipe.id()
|
||||
batch.status()
|
||||
stock.availableQuantity()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns (NICHT verwenden!)
|
||||
|
||||
❌ **Technische Begriffe im Domain:**
|
||||
- ~~DTO~~, ~~Entity~~ (nur als Typ-Suffix in Infrastructure)
|
||||
- ~~Save~~, ~~Update~~, ~~Delete~~ (stattdessen: Domain-Verben)
|
||||
|
||||
❌ **Abkürzungen ohne Definition:**
|
||||
- ~~WE~~ → Wareneingang / Goods Receipt
|
||||
- ~~BS~~ → Bestand / Stock
|
||||
|
||||
❌ **Deutsche Begriffe im Code:**
|
||||
- ~~Rezept.java~~ → Recipe.java
|
||||
- ~~addZutat()~~ → addIngredient()
|
||||
|
||||
✅ **Deutsche Begriffe nur in:**
|
||||
- Dokumentation
|
||||
- UI/UX
|
||||
- User Stories
|
||||
- Glossar (wie dieses Dokument)
|
||||
Loading…
Add table
Add a link
Reference in a new issue