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:
dahoud
2026-03-15 02:12:17 +00:00
parent bbc409de9d
commit e8ad874015
635 changed files with 58160 additions and 20674 deletions

View File

@@ -3,7 +3,19 @@
function Get-RepoRoot {
# Prefer directory containing .specify (project root for spec-kit)
$current = Resolve-Path (Join-Path $PSScriptRoot "../../..").Path
$scriptDir = $PSScriptRoot
if (-not $scriptDir -and $MyInvocation.ScriptName) {
$scriptDir = Split-Path -Parent $MyInvocation.ScriptName
}
if ($scriptDir) {
try {
$current = (Resolve-Path (Join-Path $scriptDir "../../..")).Path
} catch {
$current = (Get-Location).Path
}
} else {
$current = (Get-Location).Path
}
while ($current) {
if (Test-Path (Join-Path $current ".specify")) {
return $current
@@ -17,7 +29,8 @@ function Get-RepoRoot {
$result = git rev-parse --show-toplevel 2>$null
if ($LASTEXITCODE -eq 0) { return $result }
} catch {}
return (Resolve-Path (Join-Path $PSScriptRoot "../..")).Path
$fallbackDir = if ($scriptDir) { $scriptDir } else { (Get-Location).Path }
return (Resolve-Path (Join-Path $fallbackDir "../..")).Path
}
function Get-CurrentBranch {