mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 15:49:35 +01:00
115 lines
4.4 KiB
Markdown
115 lines
4.4 KiB
Markdown
# 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
|