---
description: Conventions backend UnionFlow (Quarkus, DDD, API)
globs: unionflow-server-impl-quarkus/**/*.java, unionflow-server-api/**/*.java
alwaysApply: false
---

# UnionFlow Backend

## Architecture DDD

- **Resources** (JAX-RS) → **Services** → **Repositories** (Panache)
- Jamais: Resource accédant directement au Repository
- Logique métier uniquement dans les Services

## API / Impl

- `unionflow-server-api`: DTOs (records), enums — **aucune** dépendance Quarkus/JPA
- `unionflow-server-impl-quarkus`: Entités, mappers MapStruct, implémentation

## Conventions

- Entités étendent `BaseEntity` (UUID, audit trail, version, actif)
- DTOs: Java `record` avec validation Jakarta
- Tests: `@QuarkusTest`, `@TestTransaction` pour rollback
- Couverture JaCoCo: **100%** exigé
- Langue: code/technique en anglais, domaine/logs/commentaires en français

## Référence

Voir `CONSTITUTION.md` sections 1 (DDD), 2 (API/Impl), 5 (QA), 8 (API Design). Inventaire détaillé : `.specify/memory/inventaire-code.md` (sections 1 et 2).
