# Spécification de base: UnionFlow - Projet existant (Brownfield) **Feature Branch**: `000-unionflow-baseline` **Created**: 2026-02-27 **Status**: Baseline documentant l'état actuel **Type**: Brownfield / Documentation ## Contexte Ce document capture l'état actuel du projet UnionFlow pour le Spec-Driven Development. UnionFlow est une plateforme de gestion d'associations, clubs et organisations à but non lucratif, et de **gestion des mutuelles d'épargne et de financement**. ## Architecture actuelle ### Modules | Module | Technologie | Rôle | |--------|-------------|------| | **unionflow-server-api** | Java 17, Maven | DTOs, enums, contrats API (sans dépendances runtime) | | **unionflow-server-impl-quarkus** | Quarkus 3.15.1, Panache | Backend REST, JPA, Keycloak | | **unionflow-client-quarkus-primefaces-freya** | Quarkus, PrimeFaces | Client web admin | | **unionflow-mobile-apps** | Flutter 3.x | Application mobile (Android/iOS) | ### Principes clés (cf. CONSTITUTION.md) - **DDD strict**: Resources → Services → Repositories - **API/Impl separation**: unionflow-server-api pur, sans Quarkus/JPA - **Keycloak**: Authentification OAuth2/OIDC - **PostgreSQL** (prod), **H2** (dev/test) - **100% JaCoCo** sur le backend - **Flyway** pour les migrations ### Répertoires importants ``` unionflow/ ├── unionflow-server-api/ # API pure ├── unionflow-server-impl-quarkus/ # Implémentation ├── unionflow-client-quarkus-primefaces-freya/ ├── unionflow-mobile-apps/ # Flutter ├── .specify/ # Spec-Kit ├── specs/ # Spécifications features └── CONSTITUTION.md # Principes projet ``` ## Workflow Spec-Kit pour nouvelles features 1. **Branche feature**: `001-nom-court`, `002-autre-feature`, etc. 2. **Specs**: `specs/001-nom-court/spec.md`, `plan.md`, `tasks.md` 3. **Commandes Cursor**: `/speckit.specify`, `/speckit.plan`, `/speckit.tasks`, `/speckit.implement` ## Commandes utiles ```powershell # Backend cd unionflow-server-impl-quarkus && mvn clean verify # Mobile cd unionflow-mobile-apps && flutter pub get && flutter test ```