Files
unionflow-server-api/unionflow/.cursor/rules/unionflow-backend.mdc
dahoud e8ad874015 feat: WebSocket temps réel + Finance Workflow + corrections
- 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
2026-03-15 02:12:17 +00:00

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).