- Task #6: WebSocket /ws/dashboard + Kafka events (5 topics) * Backend: KafkaEventProducer, KafkaEventConsumer * Mobile: WebSocketService (reconnection, heartbeat, typed events) * DashboardBloc: Auto-refresh depuis WebSocket events - Finance Workflow: approbations + budgets (backend + mobile) * Backend: entities, services, resources, migrations Flyway V6 * Mobile: features finance_workflow complète avec BLoC - Corrections DI: interfaces IRepository partout * IProfileRepository, IOrganizationRepository, IMembreRepository * GetIt configuré avec @injectable - Spec-Kit: constitution + templates mis à jour * .specify/memory/constitution.md enrichie * Templates agent, plan, spec, tasks, checklist - Nettoyage: fichiers temporaires supprimés Signed-off-by: lions dev Team
31 lines
1.0 KiB
Plaintext
31 lines
1.0 KiB
Plaintext
---
|
|
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).
|