Ce projet a été développé dans le cadre d'un cours de développement d'applications Java à Esprit School of Engineering. ChronoSerena est une application de bureau complète construite avec JavaFX qui vise à aider les prestataires de soins de santé et les patients à gérer plus efficacement les maladies chroniques grâce à une plateforme intégrée avec plusieurs modules de gestion.
- Description du projet
- Fonctionnalités
- Stack technologique
- Structure des répertoires
- Installation
- Utilisation
- Membres de l'équipe et responsabilités
- Captures d'écran
- Directives de contribution
- Licence
- Remerciements
ChronoSerena est une application de bureau JavaFX robuste conçue pour simplifier la gestion des maladies chroniques. Le système fournit une suite complète d'outils pour les médecins, les patients et les administrateurs, permettant un suivi efficace, une surveillance et une gestion de divers aspects liés aux affections chroniques.
Notre solution répond aux défis de la gestion des maladies chroniques en créant une plateforme intégrée qui couvre:
- La gestion des utilisateurs et authentification
- Le suivi des traitements médicaux
- La planification des rendez-vous
- Le monitoring des modifications du mode de vie
- La gestion des produits de santé
- L'organisation d'événements éducatifs
L'application propose trois interfaces distinctes adaptées aux besoins spécifiques des médecins, des patients et des administrateurs système.
- Inscription et authentification avec trois rôles : médecin, patient et administrateur
- Fonctionnalités de base: changement de mot de passe, login avec Google, gestion de profil
- Gestion des profils utilisateurs et contrôle d'accès basé sur les rôles
- Tableau de bord personnalisé selon le type d'utilisateur (médecin, patient, admin)
- Gestion des droits d'accès et des autorisations spécifiques à chaque rôle
- Tableau de bord administrateur avec statistiques et informations détaillées sur l'application
- Validation des comptes médecins par l'administrateur en fonction de leurs diplômes
- Suivi et gestion des médicaments
- Création et suivi des plans de traitement
- Rappels de médication et suivi de l'observance
- Planification des rendez-vous entre patients et médecins
- Calendriers personnalisés pour les médecins
- Système de notification pour les patients et médecins
- Génération de fichiers PDF avec QR codes pour chaque rendez-vous
- Synchronisation avec Google Calendar pour la gestion des créneaux
- Recherche avancée pour vérifier la disponibilité des créneaux
- Historique des rendez-vous passés et suivis
- Création de demandes journalières par les patients (eau consommée, repas, activité physique)
- Recommandations personnalisées des médecins basées sur les demandes des patients
- Génération de plans alimentaires via IA (API Gemini)
- Dashboard analytique avec score de santé et courbes de suivi
- Téléchargement des demandes et recommandations en PDF
- Taux de suivi des recommandations
- Catalogage avec images générées par IA
- Gestion des stocks en temps réel
- Système de paiement intégré avec Stripe
- Vérification par SMS via Twilio
- Système de favoris pour les utilisateurs
- Historique des commandes et facturation
- Calendrier d'événements liés à la santé
- Consultation des événements avec détails (lieu, date, météo, image)
- Réservation de places aux événements via formulaire
- Génération de billets avec QR codes
- Affichage des événements passés et à venir
- Frontend : JavaFX
- Backend : Java
- Base de données : MySQL
- Outil de construction : Maven
- API d'intégration :
- Stripe (paiement en ligne)
- Twilio (vérification SMS)
- Google Calendar (synchronisation de rendez-vous)
- Gemini (génération de plans alimentaires IA)
JAVAFX-user/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── org/example/
│ │ │ │ ├── controllers/
| | | | ├── interfaces/
│ │ │ │ ├── models/
│ │ │ │ ├── services/
│ │ │ │ ├── utils/
│ │ │ │ └── ChronoSerenaApp
│ │ ├── resources/
│ │ │ ├── fxml/
│ │ │ ├── css/
│ │ │ |── images/
| | | |── soundes/
│ |
│ │
├── pom.xml
└── README.md
-
Clonez le dépôt :
git clone https://github.com/ameniissaoui/JAVAFX.git cd JAVAFX -
Assurez-vous d'avoir installé :
- Kit de développement Java (JDK) 11 ou supérieur
- JavaFX SDK 17 ou supérieur
- Serveur MySQL
- Maven ou Gradle (selon votre configuration de build)
- XAMPP (pour la base de données MySQL)
-
Configurez la base de données :
- Créez une base de données MySQL nommée
finalee - Importez le schéma de base de données depuis
database/schema.sql
- Créez une base de données MySQL nommée
-
Configurez la connexion à la base de données :
- Ouvrez
src/main/resources/config.properties - Mettez à jour les paramètres de connexion à la base de données
- Ouvrez
-
Configurez les API externes (facultatif) :
- Créez un compte Stripe et configurez les clés API
- Créez un compte Twilio pour les notifications SMS
- Configurez l'accès à l'API Google Calendar
- Configurez l'accès à l'API Gemini pour la génération IA
-
Construisez le projet :
mvn clean install
-
Exécutez l'application :
mvn javafx:run
-
Connectez-vous avec l'un des rôles suivants :
-
Administrateur
- Nom d'utilisateur : admin
- Mot de passe : admin123
- Accès à tous les modules et fonctions de gestion système
- Tableau de bord avec statistiques complètes
- Validation des comptes médecins
-
Médecin
- Interface dédiée à la gestion des patients, traitements et rendez-vous
- Création de recommandations personnalisées pour les patients
- Gestion de planning et de rendez-vous
- Accès au suivi médical et aux historiques des patients
-
Patient
- Interface personnalisée pour la gestion de sa propre santé
- Création de demandes journalières de mode de vie
- Réservation de rendez-vous médicaux
- Commande de produits et réservation d'événements
- Visualisation de son dashboard analytique
-
-
Naviguez à travers les différents modules à l'aide du menu latéral, adapté à votre rôle.
Notre équipe est composée de 6 membres, chacun responsable d'un module de gestion spécifique :
-
[Ameni Issaoui] - Module de gestion des utilisateurs
- Authentification et inscription des utilisateurs
- Intégration de Google Login
- Gestion des profils et des permissions
- Tableau de bord administrateur
- Contrôle d'accès basé sur les rôles
-
[Oumaima Ouerfelli] - Module de gestion des traitements
- Suivi et planification des médicaments
- Plans et protocoles de traitement
- Surveillance de l'observance des médicaments
-
[Mohamed Jaffel] - Module de gestion des rendez-vous
- Planification des rendez-vous des patients
- Calendriers des prestataires de soins de santé
- Intégration avec Google Calendar
- Génération de QR codes et PDF
- Rappels de rendez-vous et suivis
-
[Anas Selmi] - Module de gestion du mode de vie
- Formulaires de demandes journalières
- Recommandations personnalisées
- Intégration avec l'API Gemini pour plans IA
- Visualisation et analyse des données de mode de vie
- Dashboard analytique avec courbes de suivi
-
[Yomna Bouallegue] - Module de gestion des produits
- Inventaire des fournitures médicales
- Intégration avec Stripe pour paiements
- Système de favoris et panier
- Génération d'images par IA
- Vérification par SMS via Twilio
-
[Mariem Negra] - Module de gestion des événements
- Événements d'éducation à la santé
- Système de réservation avec places limitées
- Génération de billets avec QR codes
- Affichage des informations météo
- Planification des groupes de soutien
Nous accueillons favorablement les contributions pour améliorer ChronoSerena. Pour contribuer :
- Forkez le dépôt
- Créez une nouvelle branche (
git checkout -b branche-fonctionnalite) - Effectuez vos modifications
- Committez vos modifications (
git commit -m 'Ajouter une fonctionnalité') - Poussez vers la branche (
git push origin branche-fonctionnalite) - Ouvrez une Pull Request
Veuillez vous assurer que votre code respecte nos normes de codage et inclut la documentation appropriée.
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Ce projet a été réalisé sous la direction de [Emna Charfi] à Esprit School of Engineering.
Remerciements spéciaux à tous les contributeurs et ressources qui ont rendu ce projet possible.
© 2025 Équipe ChronoSerena - Tous droits réservés













