1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 17:39:57 +01:00
effigenix/backend/docs/mvp/ddd/10-supporting-bcs.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

111 lines
2 KiB
Markdown

# Supporting BCs - Übersicht
**Domain Type:** SUPPORTING
**DDD-Aufwand:** Vereinfacht (weniger Komplexität als Core)
---
## Master Data BC
### Article (Aggregate Root)
```
Article
├── ArticleId
├── ArticleName
├── ArticleNumber (SKU)
├── Category (ProductCategory)
├── SalesUnits[] (Entity)
│ ├── Unit (PIECE_FIXED | KG | 100G | PIECE_VARIABLE)
│ ├── PriceModel (FIXED | WEIGHT_BASED)
│ └── Price (Money)
├── Status (ACTIVE | INACTIVE)
└── Supplier References[]
```
### Supplier (Aggregate Root)
```
Supplier
├── SupplierId
├── Name
├── Address
├── PaymentTerms
├── QualityCertificates[]
└── Rating (Quality, Delivery, Price)
```
### Customer (Aggregate Root)
```
Customer
├── CustomerId
├── CustomerType (B2C | B2B)
├── Name
├── DeliveryAddresses[]
├── FrameContract (optional)
└── Preferences (Bio, Regional, etc.)
```
---
## Sales BC
### Order (Aggregate Root)
```
Order
├── OrderId
├── OrderType (PRE_ORDER | B2B_ORDER | WALK_IN)
├── CustomerId
├── OrderDate
├── DeliveryDate
├── Items[]
└── Status (OPEN | CONFIRMED | FULFILLED)
```
### Invoice (Aggregate Root)
```
Invoice
├── InvoiceId
├── OrderId
├── InvoiceDate
├── Items[]
├── TotalAmount
└── PaymentStatus (OPEN | PAID | OVERDUE)
```
---
## Scale Integration BC
### ScaleSyncJob (Aggregate Root)
```
ScaleSyncJob
├── SyncJobId
├── ScaleId
├── SyncType (ARTICLES | PRICES | LABELS)
├── Status (PENDING | IN_PROGRESS | COMPLETED | FAILED)
└── SyncedAt
```
### BondDataImport (Aggregate Root)
```
BondDataImport
├── ImportId
├── ImportDate
├── BranchId
├── ScaleId
├── SalesData[] (Entity)
│ ├── ArticleId
│ ├── Quantity
│ ├── Price
│ ├── SoldAt
│ └── BatchId (if traceable)
└── Status (PENDING | IMPORTED | FAILED)
Triggers: StockMovement for each sale
```