1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 06:29:35 +01:00
Effigenix ERP - Branchenlösung für lebensmittelverarbeitende KMUs
Find a file
Sebastian Frick d7fcc946e7 test: Blackbox-Integrationstests für dokumentierte Domain-Invarianten
Neue Testdateien:
- RecipeLifecycleIntegrationTest (7 Tests): Aktivierung ohne Zutaten,
  Modifikation aktiver Rezepte, Archivierung, Duplikat-Prüfungen
- RoleControllerIntegrationTest (3 Tests): GET /api/roles mit/ohne
  Berechtigung und ohne Token

Erweiterte Testdateien:
- BatchControllerIntegrationTest (+2): start/cancel von COMPLETED
- StockControllerIntegrationTest (+3): removeBatch und FEFO-Allokation
- StorageLocationControllerIntegrationTest (+2): active=false Filter
- ArticleControllerIntegrationTest (+4): updatePrice, removeSupplier,
  filterByCategory, updateArticle
- CustomerControllerIntegrationTest (+3): removeFrameContract,
  updateCustomer, duplicateLineItems
2026-02-24 09:50:34 +01:00
.claude/skills feat: add Spring Boot ERP application with user management domain 2026-02-17 19:33:24 +01:00
backend test: Blackbox-Integrationstests für dokumentierte Domain-Invarianten 2026-02-24 09:50:34 +01:00
docs/tickets feat(production): articleId für Rezepte, TUI-Verbesserungen mit UoM-Carousel, ArticlePicker und Zutaten-Reorder 2026-02-20 01:15:34 +01:00
frontend fix(tui): CountryPicker Error-Handling, zentrale DACH-Defaults und Validierung 2026-02-24 09:50:02 +01:00
scripts feat(production): Rezept aktivieren (#29) 2026-02-19 21:24:39 +01:00
.gitignore chore: node_modules und Workspace-Sub-Lockfiles in gitignore 2026-02-23 22:42:19 +01:00
CLAUDE.md docs: update memory 2026-02-19 12:48:22 +01:00
makefile feat: Sentry-kompatibles Error-Tracking (Bugsink) für Frontend und Backend 2026-02-23 22:40:19 +01:00
README.md fix(frontend): pnpm dev und pnpm build ohne manuelle Vorbereitung 2026-02-18 21:39:32 +01:00
shell.nix feat(frontend): TypeScript-Monorepo mit Terminal-UI für Effigenix ERP 2026-02-18 12:28:16 +01:00
TODO.md docs(ddd): detaillierte Domain Models für Production, Quality und Inventory BC 2026-02-19 01:13:12 +01:00

Effigenix Fleischerei ERP

ERP-System für Fleischereien mit HACCP-Compliance, GoBD-konform, Mehrfilialen-Support.

Schnellstart

Backend

# PostgreSQL starten (Docker)
docker run --name effigenix-postgres \
  -e POSTGRES_DB=effigenix \
  -e POSTGRES_USER=effigenix \
  -e POSTGRES_PASSWORD=effigenix \
  -p 5432:5432 \
  -d postgres:15

# Backend bauen & starten
cd backend
mvn spring-boot:run

Kein Docker? Das Backend startet auch ohne Datenbank im Stub-Modus (Warnlog erscheint). Die OpenAPI-Spec ist dann unter http://localhost:8080/api-docs abrufbar.

Frontend (Terminal UI)

cd frontend
pnpm install
pnpm dev      # startet direkt, kein Build-Schritt nötig

Repository Structure

effigenix/
├── backend/          # Java Spring Boot Backend
│   ├── src/          # Java source code (DDD + Clean Architecture)
│   ├── docs/         # Backend documentation
│   └── pom.xml
│
└── frontend/         # TypeScript Frontend (pnpm Monorepo)
    ├── apps/cli/     # Terminal UI (Ink/React)
    └── packages/     # Shared: api-client, types, validation, config

Architektur

Domain-Driven Design + Clean Architecture + Java 21 + Spring Boot

┌─────────────────────────────────────────────────────┐
│  Presentation (REST Controllers)                     │
└─────────────────────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────┐
│  Application Layer (Use Cases)                       │
│  - Transaction Script for Generic Subdomains        │
│  - Rich Domain Model for Core Domains               │
└─────────────────────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────┐
│  Domain Layer (DDD Tactical Patterns)                │
│  - Aggregates, Entities, Value Objects              │
│  - Domain Events, Repositories                      │
└─────────────────────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────┐
│  Infrastructure Layer                                │
│  - Spring, JPA, PostgreSQL, JWT, REST               │
└─────────────────────────────────────────────────────┘

Bounded Contexts (11)

Core Domains

  • Production Management Rezeptverwaltung, Chargenproduktion
  • Quality Management HACCP-Compliance, Temperaturüberwachung
  • Inventory Management Bestandsführung, Lagerverwaltung
  • Procurement Einkauf, Wareneingang, Lieferanten
  • Sales Auftragserfassung, Rechnungsstellung, Kunden

Supporting Domains

  • Labeling Etikettendruck mit HACCP-Daten
  • Filiales Mehrfilialen-Verwaltung

Generic Subdomains

  • User Management Authentifizierung, Autorisierung, Rollen (implementiert)
  • Reporting Standard-Reports
  • Notifications E-Mail/SMS-Benachrichtigungen

Tech Stack

Schicht Technologie
Backend Java 21, Spring Boot 3.2, Spring Security 6
Datenbank PostgreSQL 15+, Liquibase
Auth JWT (JJWT), Stateless
Build Maven
Frontend TypeScript, React, Ink (TUI)
Packages pnpm Workspaces, tsup, Zod, Axios

Weiterführend

License

Proprietary Effigenix GmbH