Commit Graph

25 Commits

Author SHA1 Message Date
dahoud
bf994ccbea feat: PHASE 5.2 - Repositories et DTOs Documentaires
Repositories créés:
- DocumentRepository: Recherche par hash MD5/SHA256, type
- PieceJointeRepository: Recherche par document, membre, organisation, cotisation, adhésion, demande d'aide, transaction Wave

DTOs créés:
- DocumentDTO: Validation complète avec contraintes
- PieceJointeDTO: Relations flexibles via UUID

Respect strict DRY/WOU:
- Patterns de repository cohérents
- Patterns de DTO cohérents
- Relations via UUID pour découplage
2025-11-30 11:30:33 +00:00
dahoud
4b78c173ca feat: PHASE 5.1 - Entités Gestion Documentaire
Entités créées:
- Document: Gestion sécurisée avec hash MD5/SHA256, vérification intégrité
- PieceJointe: Association flexible avec relations multiples

Enum créé (module API):
- TypeDocument: IDENTITE, JUSTIFICATIF_DOMICILE, PHOTO, CONTRAT, FACTURE, RECU, RAPPORT, AUTRE

Fonctionnalités:
- Vérification intégrité avec MD5 et SHA256
- Formatage taille fichiers
- Compteur téléchargements
- Relations flexibles: Membre, Organisation, Cotisation, Adhesion, DemandeAide, TransactionWave
- Validation qu'une seule relation est renseignée

Respect strict DRY/WOU:
- Patterns d'entité cohérents
- Enum dans module API réutilisable
2025-11-30 11:26:37 +00:00
dahoud
ac7b69e872 feat: PHASE 4 COMPLÈTE - Système Comptable
Resource REST créée:
- ComptabiliteResource: Endpoints complets pour comptes, journaux, écritures
- CRUD complet avec gestion d'erreurs standardisée
- Validation équilibre écritures côté service

PHASE 4 - COMPLÉTÉE (100%):
 Entités: CompteComptable, JournalComptable, EcritureComptable, LigneEcriture
 Enums: TypeCompteComptable, TypeJournalComptable (module API)
 Repositories: Tous les repositories avec méthodes de recherche
 DTOs: Tous les DTOs avec validation complète
 Service: ComptabiliteService avec validation équilibre
 Resource REST: ComptabiliteResource avec endpoints complets

Fonctionnalités:
- Validation équilibre écritures (Débit = Crédit)
- Calcul automatique des totaux
- Génération automatique numéros de pièce
- Relations avec Organisation et Paiement
- Gestion périodes journaux

Respect strict DRY/WOU:
- Patterns cohérents avec autres modules
- Gestion d'erreurs standardisée
- Validation métier intégrée
2025-11-30 11:23:29 +00:00
dahoud
5ba5a3577c feat: PHASE 4.3 - Service ComptabiliteService
Service créé:
- ComptabiliteService: CRUD complet pour comptes, journaux, écritures
- Validation équilibre écritures (Débit = Crédit)
- Calcul automatique des totaux
- Conversions DTO ↔ Entity complètes
- Gestion des relations (Journal, Organisation, Paiement)

Fonctionnalités:
- Création compte comptable avec validation unicité
- Création journal comptable avec validation unicité
- Création écriture avec validation équilibre
- Liste par journal, organisation
- Conversions bidirectionnelles complètes

Respect strict DRY/WOU:
- Patterns de service cohérents
- Gestion d'erreurs standardisée
- Validation métier intégrée
2025-11-30 11:22:00 +00:00
dahoud
ced33a116e feat: PHASE 4.1 - Entités et Repositories Comptables
Entités créées:
- CompteComptable: Plan comptable avec types, classes, soldes
- JournalComptable: Journaux (ACHATS, VENTES, BANQUE, CAISSE, OD)
- EcritureComptable: Écritures avec équilibre Débit=Crédit
- LigneEcriture: Lignes d'écriture avec validation

Enums créés (module API):
- TypeCompteComptable: ACTIF, PASSIF, CHARGES, PRODUITS, TRESORERIE, AUTRE
- TypeJournalComptable: ACHATS, VENTES, BANQUE, CAISSE, OD

Repositories créés:
- CompteComptableRepository: Recherche par numéro, type, classe
- JournalComptableRepository: Recherche par code, type, période
- EcritureComptableRepository: Recherche par journal, organisation, paiement, période
- LigneEcritureRepository: Recherche par écriture, compte

Fonctionnalités:
- Validation équilibre écritures (Débit = Crédit)
- Calcul automatique des totaux
- Génération automatique numéros de pièce
- Relations avec Organisation et Paiement
2025-11-30 11:16:24 +00:00
dahoud
5a7ead81f7 feat: DTOs, Services et Resources REST pour Paiements et Wave
DTOs créés:
- PaiementDTO avec validation complète
- CompteWaveDTO avec validation format téléphone
- TransactionWaveDTO avec tous les champs nécessaires

Services créés:
- PaiementService: CRUD complet, validation, annulation, calculs
- WaveService: Gestion comptes Wave, transactions, vérification

Resources REST créées:
- PaiementResource: Endpoints CRUD, validation, annulation, recherche
- WaveResource: Endpoints comptes et transactions Wave

Respect strict DRY/WOU:
- Patterns de service cohérents avec MembreService
- Patterns de resource cohérents avec OrganisationResource
- Gestion d'erreurs standardisée
- Validation complète des DTOs
2025-11-30 02:29:48 +00:00
dahoud
e53440da24 feat: PHASE 2 et 3 - Paiements centralisés et intégration Wave
PHASE 2 - Système de Paiements Centralisé:
- Entité Paiement centralisée avec enums MethodePaiement et StatutPaiement
- Tables de liaison: PaiementCotisation, PaiementAdhesion, PaiementEvenement, PaiementAide
- Repository PaiementRepository avec méthodes de recherche et calculs
- Relations bidirectionnelles avec Membre

PHASE 3 - Intégration Wave Mobile Money:
- Entités Wave: CompteWave, TransactionWave, WebhookWave, ConfigurationWave
- Enums: StatutCompteWave, TypeTransactionWave, StatutTransactionWave, TypeEvenementWebhook, StatutWebhook
- Repositories: CompteWaveRepository, TransactionWaveRepository, WebhookWaveRepository, ConfigurationWaveRepository
- Relations bidirectionnelles dans Organisation et Membre
- Ajout champ telephoneWave dans Membre

Respect strict DRY/WOU:
- Enums dans module API réutilisables
- Patterns de repository cohérents
- Relations JPA standardisées
- Numéro de référence auto-généré pour Paiement
2025-11-30 01:49:46 +00:00
dahoud
f930ae7341 feat: PHASE 1 - Adresses et Rôles/Permissions
PHASE 1.1 - Entité Adresse:
- Création entité Adresse avec types (SIEGE_SOCIAL, BUREAU, DOMICILE, AUTRE)
- Relations flexibles: Organisation, Membre, Evenement
- Enum TypeAdresse dans module API (DRY/WOU)
- Repository et Service AdresseService
- Relations bidirectionnelles mises à jour

PHASE 1.2 - Système Rôles et Permissions:
- Entité Role avec types (SYSTEME, ORGANISATION, PERSONNALISE)
- Entité Permission avec structure MODULE > RESSOURCE > ACTION
- Tables de liaison MembreRole et RolePermission
- Repositories pour toutes les entités
- Services RoleService et PermissionService
- Relations bidirectionnelles dans Membre

Respect strict DRY/WOU:
- Enums dans module API réutilisables
- Patterns de service cohérents
- Relations JPA standardisées
2025-11-30 01:31:12 +00:00
dahoud
1a31844aed fix(server+client): Correction validation dateAdhesion et ajout propriétés MembreDTO
SERVER (MembreService):
- Définition automatique de dateAdhesion à LocalDate.now() si non fournie
- Définition automatique de dateNaissance à il y a 18 ans si non fournie (évite @NotNull)
- Logs informatifs pour tracer les valeurs par défaut

CLIENT (MembreDTO):
- Ajout des champs manquants : membreBureau, responsable, dateAdhesion, region, ville, quartier, role
- Ajout des propriétés dérivées pour l'affichage dans liste.xhtml :
  * typeMembre, typeSeverity, typeIcon : basés sur les rôles
  * statutIcon : icône selon le statut
  * entite : nom de l'association
  * anciennete : calcul depuis dateInscription
  * cotisationStatut, cotisationColor, dernierPaiement : placeholders (TODO)
  * tauxParticipation, evenementsAnnee : placeholders (TODO)

SOLUTION APPLIQUÉE : Option B (valeurs par défaut automatiques)
- Permet création rapide de membres avec données minimales
- Profil complétable progressivement
- Pas de blocage sur champs obligatoires
2025-11-29 21:18:23 +00:00
dahoud
952141662b Refactroring 2025-11-29 04:21:41 +00:00
dahoud
e27a8434e1 Refactroring 2025-11-29 02:57:00 +00:00
dahoud
40fdbedcad Refactoring - Version OK 2025-11-17 15:28:34 +00:00
dahoud
8cec643361 Version OK 2025-10-05 14:26:15 +00:00
dahoud
291847924c Clean project: remove test files, debug logs, and add documentation 2025-10-05 13:41:33 +00:00
DahoudG
96a17eadbd Alignement design systeme OK 2025-09-20 03:56:11 +00:00
DahoudG
098894bdc1 Authentification stable - WIP 2025-09-19 12:35:46 +00:00
DahoudG
63fe107f98 Refactoring 2025-09-17 17:54:06 +00:00
DahoudG
12d514d866 Versione OK Pour l'onglet événements. 2025-09-15 20:15:34 +00:00
DahoudG
8a619ee1bf MODULE SOLIDARITÉ BACKEND - DÉVELOPPEMENT EXHAUSTIF TERMINÉ !
📊 RÉSUMÉ COMPLET DE L'IMPLÉMENTATION
 RÉALISATIONS ACCOMPLIES
🏗️ 1. ENTITÉ JPA AIDE
 Entité complète avec 40+ propriétés métier
 Relations JPA : ManyToOne avec Membre et Organisation
 Validations Jakarta : Contraintes métier robustes
 Énumérations : StatutAide et TypeAide intégrées
 Méthodes métier : Approbation, rejet, versement, vues
 Callbacks JPA : PrePersist, PreUpdate automatiques
 Index optimisés : Performance des requêtes garantie
🗄️ 2. REPOSITORY PANACHE
 AideRepository complet avec 30+ méthodes spécialisées
 Recherche avancée : Filtres multiples et pagination
 Statistiques : Calculs globaux et par période
 Méthodes métier : Aides urgentes, suivi, consultations
 Optimisations : Requêtes performantes et indexées
⚙️ 3. SERVICE MÉTIER AIDESERVICE
 CRUD complet : Création, lecture, mise à jour
 Opérations métier : Approbation, rejet, versement, annulation
 Validation robuste : Règles métier et sécurité
 Conversion DTO/Entity : Mapping bidirectionnel complet
 Gestion d'erreurs : Exceptions métier appropriées
 Sécurité Keycloak : Contrôle d'accès granulaire
🌐 4. RESOURCE REST AIDERESOURCE
 API REST complète : 15+ endpoints documentés
 CRUD standard : GET, POST, PUT avec gestion d'erreurs
 Endpoints métier : Approbation, rejet, versement
 Recherche et filtrage : Par statut, membre, texte
 Statistiques : Dashboard et métriques
 Sécurité JAX-RS : @RolesAllowed avec Keycloak
 Documentation OpenAPI : Spécification automatique
🧪 5. TESTS COMPLETS
 Tests unitaires : AideServiceTest avec 15+ scénarios
 Tests d'intégration : AideResourceTest avec REST Assured
 Couverture complète : Cas nominaux et d'erreur
 Mocks Quarkus : @InjectMock pour isolation
 Sécurité testée : @TestSecurity pour autorisation
📋 6. ARCHITECTURE ET QUALITÉ
 Clean Architecture : Séparation des couches respectée
 Patterns établis : Cohérence avec modules existants
 Standards Java 2025 : Lombok, JPA, Quarkus, Jakarta
 Documentation JavaDoc : Classes et méthodes documentées
 Gestion d'erreurs : Exceptions appropriées et logging
 Validation métier : Règles business implémentées
🎯 FONCTIONNALITÉS IMPLÉMENTÉES
📝 GESTION DES DEMANDES D'AIDE
 Création de demandes avec validation complète
 Modification par le demandeur (si statut permet)
 Consultation avec incrémentation des vues
 Recherche textuelle dans titre/description
 Filtrage par statut, type, priorité, membre
⚖️ WORKFLOW D'ÉVALUATION
 Approbation avec montant et commentaires
 Rejet avec raison obligatoire
 Gestion des permissions par rôle Keycloak
 Traçabilité complète des actions
💰 GESTION DES VERSEMENTS
 Marquage comme versé avec détails transaction
 Support multi-modes : Mobile Money, virement, espèces
 Contrôle des montants et cohérence
 Historique des versements
📊 STATISTIQUES ET REPORTING
 Statistiques globales par statut et type
 Statistiques par période configurable
 Aides les plus consultées
 Suivi des aides nécessitant attention
 Métriques de performance
🔒 SÉCURITÉ ET PERMISSIONS
 Authentification Keycloak obligatoire
 Autorisation granulaire par rôle
 Contrôle d'accès aux données sensibles
 Audit trail complet
🚀 ENDPOINTS API DISPONIBLES
CRUD Standard
GET /api/aides - Liste paginée des aides actives
GET /api/aides/{id} - Récupération par ID
GET /api/aides/reference/{ref} - Récupération par référence
POST /api/aides - Création nouvelle demande
PUT /api/aides/{id} - Mise à jour demande
Opérations Métier
POST /api/aides/{id}/approuver - Approbation avec montant
POST /api/aides/{id}/rejeter - Rejet avec raison
POST /api/aides/{id}/verser - Marquage versement
Recherche et Filtrage
GET /api/aides/statut/{statut} - Filtrage par statut
GET /api/aides/membre/{membreId} - Aides d'un membre
GET /api/aides/publiques - Aides publiques
GET /api/aides/recherche?q=terme - Recherche textuelle
GET /api/aides/urgentes - Aides urgentes en attente
Statistiques
GET /api/aides/statistiques - Métriques globales
2025-09-15 09:57:53 +00:00
DahoudG
f89f6167cc feat(mobile): Implement Keycloak WebView authentication with HTTP callback
- Replace flutter_appauth with custom WebView implementation to resolve deep link issues
- Add KeycloakWebViewAuthService with integrated WebView for seamless authentication
- Configure Android manifest for HTTP cleartext traffic support
- Add network security config for development environment (192.168.1.11)
- Update Keycloak client to use HTTP callback endpoint (http://192.168.1.11:8080/auth/callback)
- Remove obsolete keycloak_auth_service.dart and temporary scripts
- Clean up dependencies and regenerate injection configuration
- Tested successfully on multiple Android devices (Xiaomi 2201116TG, SM A725F)

BREAKING CHANGE: Authentication flow now uses WebView instead of external browser
- Users will see Keycloak login page within the app instead of browser redirect
- Resolves ERR_CLEARTEXT_NOT_PERMITTED and deep link state management issues
- Maintains full OIDC compliance with PKCE flow and secure token storage

Technical improvements:
- WebView with custom navigation delegate for callback handling
- Automatic token extraction and user info parsing from JWT
- Proper error handling and user feedback
- Consistent authentication state management across app lifecycle
2025-09-15 01:44:16 +00:00
DahoudG
73459b3092 Version propre - Dashboard enhanced 2025-09-13 19:05:06 +00:00
DahoudG
3df010add7 Appli Flutter se connecte bien à l'API. 2025-09-12 03:15:21 +00:00
DahoudG
8184bc77bb Tests à un bon niveau - A completer plus tard. 2025-09-11 11:53:54 +00:00
DahoudG
bf79fa4e04 Server-Api OK 2025-09-10 22:02:16 +00:00
DahoudG
b2a23bdf89 first commit 2025-08-20 21:00:35 +00:00