2025-09-19 16:09:21 +00:00
2025-11-29 04:21:41 +00:00
2025-11-17 16:02:04 +00:00
2025-11-29 04:21:41 +00:00
2025-11-17 16:02:04 +00:00
2025-11-17 16:02:04 +00:00
2025-08-20 21:00:35 +00:00
2025-11-17 16:02:04 +00:00

UnionFlow

Système de gestion intégré pour les unions et associations Lions Club de Côte d'Ivoire.

📋 Description

UnionFlow est une plateforme complète de gestion pour les organisations Lions Club, comprenant :

  • Gestion des membres et cotisations
  • Organisation d'événements
  • Système de solidarité
  • Gestion des organisations
  • Authentification sécurisée via Keycloak

🏗️ Architecture

Le projet est composé de deux applications principales :

Backend - Quarkus (Java)

  • Framework : Quarkus 3.x
  • Base de données : PostgreSQL
  • Authentification : Keycloak (OIDC)
  • API : REST (JAX-RS)
  • ORM : Hibernate avec Panache

Mobile - Flutter

  • Framework : Flutter 3.x
  • Architecture : Clean Architecture + BLoC
  • Authentification : Keycloak WebView
  • HTTP Client : Dio
  • State Management : flutter_bloc

🚀 Démarrage Rapide

Prérequis

  • Java 17+
  • Maven 3.8+
  • PostgreSQL 14+
  • Keycloak 23+
  • Flutter 3.x
  • Dart 3.x

Backend

cd unionflow-server-impl-quarkus

# Configuration de la base de données
# Créer une base PostgreSQL nommée 'unionflow'
# Modifier src/main/resources/application.properties si nécessaire

# Démarrage en mode développement
mvn clean quarkus:dev

# L'API sera disponible sur http://localhost:8080

Mobile

cd unionflow-mobile-apps

# Installation des dépendances
flutter pub get

# Génération du code (models, etc.)
flutter pub run build_runner build --delete-conflicting-outputs

# Lancement de l'application
flutter run

📦 Configuration

Backend - application.properties

# Base de données
quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/unionflow
quarkus.datasource.username=unionflow
quarkus.datasource.password=unionflow123

# Keycloak
quarkus.oidc.auth-server-url=http://localhost:8180/realms/unionflow
quarkus.oidc.client-id=unionflow-server
quarkus.oidc.credentials.secret=unionflow-secret-2025

Mobile - Configuration

Modifier lib/core/network/dio_client.dart pour l'URL du backend :

static const String _baseUrl = 'http://192.168.1.11:8080';

Modifier lib/core/auth/keycloak_config.dart pour Keycloak :

static const String authority = 'http://192.168.1.11:8180/realms/unionflow';
static const String clientId = 'unionflow-mobile';

🗄️ Base de Données

Mode Développement

Pour charger les données initiales (membres, cotisations, événements) :

  1. Modifier application.properties :
quarkus.hibernate-orm.database.generation=drop-and-create
  1. Redémarrer Quarkus - Le fichier import.sql sera exécuté automatiquement

  2. Remettre en mode production :

quarkus.hibernate-orm.database.generation=update

Mode Production

En production, utilisez toujours update pour préserver les données.

📱 Fonctionnalités

Gestion des Membres

  • Inscription et profils des membres
  • Gestion des statuts (actif, inactif, suspendu)
  • Historique des adhésions

Cotisations

  • Différents types : mensuelle, annuelle, adhésion, événement, formation, projet, solidarité
  • Suivi des paiements (payée, en attente, en retard, partiellement payée)
  • Rappels automatiques

Événements

  • Types variés : assemblée générale, réunion, formation, conférence, atelier, séminaire, événement social, manifestation, célébration
  • Gestion des inscriptions
  • Capacité et tarification
  • Statuts : planifié, confirmé, en cours, terminé, annulé, reporté

Organisations

  • Gestion des clubs et unions
  • Hiérarchie organisationnelle
  • Statistiques et rapports

🔐 Sécurité

  • Authentification via Keycloak (OAuth 2.0 / OIDC)
  • Tokens JWT stockés de manière sécurisée (FlutterSecureStorage)
  • Contrôle d'accès basé sur les rôles (RBAC)
  • Refresh automatique des tokens

🛠️ Développement

Structure du Backend

unionflow-server-impl-quarkus/
├── src/main/java/dev/lions/unionflow/server/
│   ├── entity/          # Entités JPA
│   ├── resource/        # Endpoints REST
│   ├── service/         # Logique métier
│   ├── dto/             # Data Transfer Objects
│   └── repository/      # Repositories (si nécessaire)
└── src/main/resources/
    ├── application.properties
    ├── import.sql       # Données initiales
    └── db/migration/    # Migrations Flyway (si utilisé)

Structure du Mobile

unionflow-mobile-apps/
├── lib/
│   ├── core/            # Configuration, réseau, auth
│   ├── features/        # Modules par fonctionnalité
│   │   ├── auth/
│   │   ├── members/
│   │   ├── events/
│   │   ├── cotisations/
│   │   └── organisations/
│   └── main.dart

📝 API Documentation

Une fois le backend démarré, la documentation OpenAPI est disponible sur :

🧪 Tests

Backend

mvn test

Mobile

flutter test

📄 Licence

Propriétaire - Lions Club Côte d'Ivoire

👥 Équipe

UnionFlow Team - Lions Club Côte d'Ivoire

📞 Support

Pour toute question ou problème, contactez l'équipe de développement.


Version : 1.0.0
Dernière mise à jour : 2025-10-05

Description
No description provided
Readme 8.9 MiB
Languages
CSS 40.2%
Java 26.7%
HTML 17.3%
Dart 14.6%
JavaScript 1%
Other 0.2%