1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 11:59: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:
Sebastian Frick 2026-02-17 22:08:51 +01:00
parent ec9114aa0a
commit c2c48a03e8
141 changed files with 734 additions and 9 deletions

View file

@ -1,233 +0,0 @@
# 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)