# Documentation UnionFlow Mobile Apps

Documentation complète de l'application mobile Flutter.

---

## 📚 Guides de Test

### [TESTS_INTEGRATION_FINANCE_WORKFLOW.md](./TESTS_INTEGRATION_FINANCE_WORKFLOW.md)

**Description:** Guide unique pour tester l'intégration mobile-backend Finance Workflow

**Contenu:**
- Utilisateurs Keycloak réels à utiliser (pas besoin de créer de nouveaux comptes)
- Scénario de test complet (15 minutes)
- Workflow approbations (membre → admin)
- Gestion budgets
- Checklist de validation
- Troubleshooting

**Utilisation:**
```bash
# 1. Vérifier prérequis
cd ../scripts
.\start-integration-tests.ps1

# 2. Lancer app mobile
cd ..
flutter run --dart-define=ENV=dev

# 3. Suivre le guide TESTS_INTEGRATION_FINANCE_WORKFLOW.md
```

---

## 🏗️ Architecture & Design

### [CONTRIBUTIONS_CLEAN_ARCHITECTURE.md](./CONTRIBUTIONS_CLEAN_ARCHITECTURE.md)

**Description:** Refactoring Clean Architecture de la feature Contributions

**Contenu:**
- Structure domain complète (interface + 8 use cases)
- Refactoring du BLoC pour utiliser les use cases
- Architecture conforme aux principes SOLID
- Guide de résolution des conflits de noms

**Statut:** ✅ Complété - 100% conforme Clean Architecture

### [EVENTS_CLEAN_ARCHITECTURE.md](./EVENTS_CLEAN_ARCHITECTURE.md)

**Description:** Refactoring Clean Architecture de la feature Events

**Contenu:**
- Structure domain complète (interface + 10 use cases)
- Refactoring du BLoC pour utiliser les use cases
- Documentation des endpoints backend manquants (feedback, mes-inscriptions)
- Gestion des conflits de noms avec alias d'import

**Statut:** ✅ Complété - 100% conforme Clean Architecture (2 endpoints backend à ajouter)

### [MEMBERS_CLEAN_ARCHITECTURE.md](./MEMBERS_CLEAN_ARCHITECTURE.md)

**Description:** Refactoring Clean Architecture de la feature Members

**Contenu:**
- Structure domain complète (interface + 8 use cases)
- Refactoring du BLoC pour utiliser les use cases
- Gestion de recherche avancée et export membres
- Résolution de conflits de noms avec alias d'import

**Statut:** ✅ Complété - 100% conforme Clean Architecture (Phase P1 81% complétée)

### [PROFILE_CLEAN_ARCHITECTURE.md](./PROFILE_CLEAN_ARCHITECTURE.md)

**Description:** Refactoring Clean Architecture de la feature Profile

**Contenu:**
- Structure domain complète (interface + 6 use cases)
- Implémentations concrètes (proxy Keycloak, soft delete, fallback local)
- Changement mot de passe, préférences, suppression compte
- Aucun TODO - Toutes fonctionnalités implémentées

**Statut:** ✅ Complété - 100% conforme Clean Architecture (**Phase P1 100% COMPLÉTÉE**)

### [ORGANIZATIONS_CLEAN_ARCHITECTURE.md](./ORGANIZATIONS_CLEAN_ARCHITECTURE.md)

**Description:** Refactoring Clean Architecture de la feature Organizations

**Contenu:**
- Structure domain complète (interface + 7 use cases)
- Refactoring du BLoC et Service (helpers uniquement)
- 2 nouveaux endpoints backend (membres, configuration)
- Résolution de conflits de noms avec alias d'import

**Statut:** ✅ Complété - 100% conforme Clean Architecture (**Phase P2: 1/3 complétée**)

### [REPORTS_CLEAN_ARCHITECTURE.md](./REPORTS_CLEAN_ARCHITECTURE.md)

**Description:** Refactoring Clean Architecture de la feature Reports

**Contenu:**
- Structure domain complète (interface + 6 use cases)
- Refactoring du BLoC pour utiliser les use cases
- 4 nouveaux endpoints backend (available, export PDF/Excel, scheduled)
- Méthodes concrètes pour analytics et reporting

**Statut:** ✅ Complété - 100% conforme Clean Architecture (**Phase P2: 2/3 complétée**)

### [SETTINGS_CLEAN_ARCHITECTURE.md](./SETTINGS_CLEAN_ARCHITECTURE.md)

**Description:** Refactoring Clean Architecture de la feature Settings

**Contenu:**
- Structure domain complète (interface + 5 use cases)
- Refactoring du BLoC pour utiliser les use cases
- Implémentation resetConfig avec 3 niveaux de fallback
- Gestion cache et configuration système

**Statut:** ✅ Complété - 100% conforme Clean Architecture (**🎉 Phase P2 100% COMPLÉTÉE**)

### [USE_CASES_MANQUANTS.md](./USE_CASES_MANQUANTS.md)

**Description:** Audit et plan d'implémentation des use cases manquants

**Contenu:**
- État des 10 features (10/10 conformes Clean Architecture - 100%)
- Spécification détaillée de 50 use cases à implémenter
- Plan d'implémentation en 2 phases (P1/P2)
- **🎉 Progression: 100% (50/50 use cases implémentés)**
- **🎊 Phase P1 100% COMPLÉTÉE (32/32 use cases P1)**
- **🎊 Phase P2 100% COMPLÉTÉE (18/18 use cases P2)**
- **🏆 OBJECTIF FINAL ATTEINT - 64 use cases total**

### [AUDIT_INJECTION_DEPENDANCES.md](./AUDIT_INJECTION_DEPENDANCES.md)

**Description:** Audit complet de l'injection de dépendances (GetIt + Injectable)

**Contenu:**
- 51 services enregistrés (27 @injectable + 24 @lazySingleton)
- Pattern DRY centralisé (un seul fichier injection.dart)
- Guide d'ajout de nouveaux services
- Statut: ✅ Conforme

### [UNIONFLOW_DESIGN_V2.md](./UNIONFLOW_DESIGN_V2.md) *(si existe)*

**Description:** Architecture du design system et composants UI

**Contenu:**
- Design tokens
- Composants réutilisables
- Thème et styles
- Patterns UI

---

## 📖 Documentation Complémentaire

### Documentation Backend

La documentation backend se trouve dans `unionflow/` (racine):

- **FINANCE_WORKFLOW_BACKEND_COMPLETE.md** - Architecture backend Finance Workflow
- **FINANCE_WORKFLOW_TEST_CHECKLIST.md** - Checklist tests P0 backend
- **FINANCE_WORKFLOW_TEST_REPORT.md** - Rapport tests endpoints REST

### Scripts Utilitaires

Les scripts PowerShell se trouvent dans `../scripts/`:

- `start-integration-tests.ps1` - Vérifier prérequis
- `check-keycloak-state.ps1` - État Keycloak
- `list-user-roles.ps1` - Rôles utilisateurs

Voir [scripts/README.md](../scripts/README.md) pour plus de détails.

---

## 🎯 Démarrage Rapide

### Tests d'Intégration Mobile-Backend

```bash
# 1. Backend
cd ../../unionflow-server-impl-quarkus
mvn compile quarkus:dev -D"quarkus.http.port=8085"

# 2. Vérifier services (autre terminal)
cd ../unionflow-mobile-apps/scripts
.\start-integration-tests.ps1

# 3. App mobile (autre terminal)
cd ..
flutter run --dart-define=ENV=dev

# 4. Suivre le guide
# docs/TESTS_INTEGRATION_FINANCE_WORKFLOW.md
```

### Développement Normal

```bash
# Mode dev (backend local)
flutter run --dart-define=ENV=dev

# Mode staging
flutter run --dart-define=ENV=staging

# Mode production
flutter run --dart-define=ENV=prod
```

---

## 🔗 Liens Utiles

- **Keycloak Admin:** http://localhost:8180/admin/master/console (admin/admin)
- **Backend API:** http://localhost:8085
- **Backend Health:** http://localhost:8085/q/health
- **Backend OpenAPI:** http://localhost:8085/q/openapi

---

## 📝 Convention de Nommage

### Documentation
- `{FEATURE}_{DESCRIPTION}.md` - Ex: `TESTS_INTEGRATION_FINANCE_WORKFLOW.md`
- Tout en MAJUSCULES avec underscores
- Placée dans `docs/`

### Scripts
- `{action}-{description}.ps1` - Ex: `start-integration-tests.ps1`
- Tout en minuscules avec tirets
- Placés dans `scripts/`

---

**Organisation maintenue selon le principe DRY (Don't Repeat Yourself)**

**Dernière mise à jour:** 2026-03-14
