mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 10:29:35 +01:00
Implement DDD-based architecture with domain, application, infrastructure, and API layers. Includes user/role management with authentication, RBAC permissions, audit logging, Liquibase migrations, and test suite.
2 KiB
2 KiB
Effigenix ERP – Agent Guide
Stack
Java 21, Spring Boot 3.2, PostgreSQL, Liquibase, JWT (JJWT), Maven
Architektur
DDD + Clean Architecture. Einweg-Abhängigkeit: domain → application → infrastructure.
de.effigenix.
├── domain.{bc}/ # Reine Geschäftslogik, KEINE Framework-Deps
├── application.{bc}/ # Use Cases, Commands, DTOs
├── infrastructure.{bc}/ # JPA, REST, Security, Audit
└── shared/ # Shared Kernel (Result<E,T>, AuthorizationPort, Action)
Bounded Contexts: usermanagement (implementiert), production, quality, inventory, procurement, sales, labeling, filiales (Platzhalter).
Namenskonventionen
| Artefakt | Muster | Beispiel |
|---|---|---|
| Use Case | {Verb}{Noun} |
CreateUser, AuthenticateUser |
| Command | {Verb}{Noun}Command |
CreateUserCommand |
| Domain Entity | {Noun} |
User, Role |
| Value Object | {Noun} |
UserId, PasswordHash, RoleName |
| Domain Error | {Noun}Error (sealed interface) |
UserError.UsernameAlreadyExists |
| JPA Entity | {Noun}Entity |
UserEntity |
| Mapper | {Noun}Mapper |
UserMapper (Domain↔JPA) |
| Repository (Domain) | {Noun}Repository |
UserRepository (Interface) |
| Repository (Impl) | Jpa{Noun}Repository |
JpaUserRepository |
| Controller | {Noun}Controller |
UserController |
| Web DTO | {Verb}{Noun}Request |
CreateUserRequest |
| Action Enum | {Noun}Action implements Action |
ProductionAction |
Error Handling
Funktional via Result<E, T> (shared.common.Result). Domain-Fehler sind sealed interfaces mit Records. Keine Exceptions im Domain/Application Layer.
Commits
Conventional Commits. Kein Co-Authored-By Header – niemals.
DDD Skill
Für neue Bounded Contexts: /ddd-implement Skill verwenden. Dokumentation unter .claude/skills/ddd-implement/SKILL.md.
Doku
docs/QUICK_START.md– Lokale Entwicklung, Docker, Seed-Datendocs/USER_MANAGEMENT.md– Referenz-BC mit AuthorizationPort, JWT, AuditTODO.md– Offene Aufgaben und Waves