# Effigenix Fleischerei ERP ERP-System für Fleischereien mit HACCP-Compliance, GoBD-konform, Mehrfilialen-Support. ## Schnellstart ### Backend ```bash # 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) ```bash 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 - [Backend README](backend/README.md) - [Frontend README](frontend/README.md) - [Quick Start (Detail)](backend/docs/QUICK_START.md) - [User Management](backend/docs/USER_MANAGEMENT.md) ## License Proprietary – Effigenix GmbH