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
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
# UnionFlow Project Constitution
|
||||
|
||||
> **Version:** 1.0
|
||||
> **Date:** 2026-02-27
|
||||
> **Date:** 2026-03-08
|
||||
> **Status:** Active
|
||||
> **Scope:** Backend (unionflow-server-impl-quarkus), API (unionflow-server-api), Mobile (unionflow-mobile-apps)
|
||||
> **Référence inventaire:** `.specify/memory/inventaire-code.md` — liste exacte des packages, migrations et features (à utiliser pour ne pas halluciner). **En cas de divergence entre ce document et le code source, le code fait foi** ; l’inventaire et la constitution doivent être mis à jour pour refléter l’état réel du dépôt.
|
||||
|
||||
---
|
||||
|
||||
@@ -579,15 +580,7 @@ List<Membre> findAllWithCotisations();
|
||||
### 13. Mobile Integration
|
||||
|
||||
#### 13.1 Mobile App Configuration
|
||||
**Flutter Environment:**
|
||||
```dart
|
||||
// lib/config/environment.dart
|
||||
abstract class AppConfig {
|
||||
static String get apiBaseUrl => const String.fromEnvironment('API_URL');
|
||||
static String get keycloakUrl => const String.fromEnvironment('KEYCLOAK_URL');
|
||||
static bool get enableLogging => const String.fromEnvironment('ENV') != 'prod';
|
||||
}
|
||||
```
|
||||
**Flutter Environment:** Configuration centralisée dans `unionflow-mobile-apps/lib/core/config/environment.dart`. `AppConfig.initialize()` appelé dans `main()` ; `Environment` (dev, staging, prod) ; propriétés : `apiBaseUrl`, `keycloakBaseUrl`, `wsBaseUrl`, `enableLogging`, `keycloakRealmUrl`, `keycloakTokenUrl`, `wsDashboardUrl`. Valeurs par défaut selon l’environnement (dev : localhost:8085 / 8180, prod : api.lions.dev / security.lions.dev).
|
||||
|
||||
**Build Command:**
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user