24 Commits

Author SHA1 Message Date
dahoud
e92acf44e6 fix: Correction des boutons d'action dans organisation/liste.xhtml et corrections diverses
- Alignement des boutons d'action avec membre/liste.xhtml (icônes seulement, style rounded)
- Remplacement findByIdOptional par find[Entity]ById dans tous les repositories
- Correction des erreurs de compilation UUID vs Long
- Correction du test MembreServiceAdvancedSearchTest (suppression assignation roles String)
- Ajout de méthodes find[Entity]ById dans tous les repositories
- Mise à jour des services pour utiliser les nouvelles méthodes de repository
- Correction des appels order() vers Sort.by() dans les repositories
- Suppression des tests obsolètes dans unionflow-server-api
2025-11-30 16:18:38 +00:00
dahoud
587ee55005 feat: PHASE 6.2 - Repositories, DTOs et Service Notifications
Repositories créés:
- TemplateNotificationRepository: Recherche par code, langue
- NotificationRepository: Recherche par membre, organisation, type, statut, priorité, en attente

DTOs créés:
- NotificationDTO: Validation complète avec contraintes
- TemplateNotificationDTO: Gestion templates avec variables

Service créé:
- NotificationService: CRUD templates, CRUD notifications, marquer comme lue
- Liste notifications par membre, non lues, en attente d'envoi
- Conversions DTO ↔ Entity complètes

Respect strict DRY/WOU:
- Patterns cohérents avec autres modules
- Gestion d'erreurs standardisée
2025-11-30 11:42:25 +00:00
dahoud
4bef1cdb72 feat: PHASE 5 et 6.1 - DocumentResource et Entités Notifications
PHASE 5 - COMPLÉTÉE:
 Resource REST: DocumentResource avec endpoints complets

PHASE 6.1 - Entités Notifications:
 TemplateNotification: Templates réutilisables avec variables
 Notification: Notifications avec types, priorités, statuts
 Enums: TypeNotification, PrioriteNotification (module API)
 Relations: Membre, Organisation, TemplateNotification

Fonctionnalités:
- Templates avec variables JSON
- Support multi-canaux (EMAIL, SMS, PUSH, IN_APP, SYSTEME)
- Priorités: CRITIQUE, HAUTE, NORMALE, BASSE
- Statuts: EN_ATTENTE, ENVOYEE, LUE, ECHOUE, ANNULEE
- Gestion tentatives d'envoi
- Dates envoi prévue/réelle/lecture

Respect strict DRY/WOU:
- Patterns cohérents avec autres modules
- Enums dans module API réutilisables
2025-11-30 11:37:12 +00:00
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
1eaf0f9161 feat: PHASE 4.2 - DTOs Comptables
DTOs créés:
- CompteComptableDTO: Validation complète avec contraintes
- JournalComptableDTO: Gestion périodes et statuts
- EcritureComptableDTO: Avec liste de lignes
- LigneEcritureDTO: Validation débit/crédit

Respect strict DRY/WOU:
- Patterns de DTO cohérents avec autres modules
- Validation complète avec messages d'erreur
- Relations via UUID pour découplage
2025-11-30 11:20:29 +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
5db3a5a6c9 docs(api): Documentation des champs auto-générés dans MembreDTO
- numeroMembre : Marqué AUTO-GÉNÉRÉ, ne pas afficher dans formulaire création
- dateNaissance : Marquée AUTO-GÉNÉRÉE à il y a 18 ans si non fournie
- dateAdhesion : Marquée AUTO-GÉNÉRÉE à LocalDate.now() si non fournie

Documentation claire pour les développeurs frontend :
- Champs OBLIGATOIRES : nom, prénom, email, statut, associationId
- Champs OPTIONNELS : tous les autres
- Champs AUTO-GÉNÉRÉS : à ne pas afficher dans les formulaires de création

Cette documentation guide la création des formulaires pour ne demander
que les informations essentielles à l'utilisateur.
2025-11-29 21:43:24 +00:00
dahoud
200cb2cde6 fix(api): Assouplissement des contraintes de validation pour MembreDTO
- numeroMembre : Retiré @NotBlank et @Pattern, maintenant optionnel (peut être généré auto)
- telephone : Retiré @Pattern strict, remplacé par @Size(max=20) pour format flexible
- Permet la création de membres avec des données de base
- Le profil pourra être complété progressivement sans être bloquant

Formats acceptés maintenant :
- Téléphone : tout format jusqu'à 20 caractères (ex: 77 123 45 67, +221771234567, etc.)
- Numéro membre : optionnel, peut être généré automatiquement par le système
2025-11-29 20:07:48 +00:00
dahoud
638108cd30 Refactroring 2025-11-29 02:56:35 +00:00
dahoud
edaa5b17ea Refactoring - Version OK 2025-11-17 15:27:42 +00:00
dahoud
990ee549e6 gitignore propre 2025-11-09 16:31:19 +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
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
b8c7949f41 propre 2025-09-11 02:33:50 +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