1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 17:29:58 +01:00
effigenix/backend/CLAUDE.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

2 KiB
Raw Blame History

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-Daten
  • docs/USER_MANAGEMENT.md Referenz-BC mit AuthorizationPort, JWT, Audit
  • TODO.md Offene Aufgaben und Waves