Skip to content

ameniissaoui/JAVAFX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

ChronoSerena - Application JavaFX pour la Gestion des Maladies Chroniques

Aperçu

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.

Table des matières

Description du projet

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.

Fonctionnalités

Module de gestion des utilisateurs

  • 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

Module de gestion des traitements

  • Suivi et gestion des médicaments
  • Création et suivi des plans de traitement
  • Rappels de médication et suivi de l'observance

Module de gestion des rendez-vous

  • 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

Module de gestion du mode de vie

  • 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

Module de gestion des produits

  • 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

Module de gestion des événements

  • 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

Stack technologique

  • 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)

Structure des répertoires

JAVAFX-user/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   ├── org/example/
│   │   │   │   ├── controllers/
|   |   |   |   ├── interfaces/
│   │   │   │   ├── models/
│   │   │   │   ├── services/
│   │   │   │   ├── utils/
│   │   │   │   └── ChronoSerenaApp
│   │   ├── resources/
│   │   │   ├── fxml/
│   │   │   ├── css/
│   │   │   |── images/
|   |   |   |── soundes/
│   |
│   │   
├── pom.xml
└── README.md

Installation

  1. Clonez le dépôt :

    git clone https://github.com/ameniissaoui/JAVAFX.git
    cd JAVAFX
  2. 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)
  3. 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
  4. 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
  5. 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
  6. Construisez le projet :

    mvn clean install

Utilisation

  1. Exécutez l'application :

    mvn javafx:run
  2. 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
  3. Naviguez à travers les différents modules à l'aide du menu latéral, adapté à votre rôle.

Membres de l'équipe et responsabilités

Notre équipe est composée de 6 membres, chacun responsable d'un module de gestion spécifique :

  1. [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
  2. [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
  3. [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
  4. [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
  5. [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
  6. [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

Captures d'écran

image image

Interface Administrateur

image image Capture d'écran 2025-04-23 194825

Interface Médecin

image image image image image

Interface Patient

image image image image

Directives de contribution

Nous accueillons favorablement les contributions pour améliorer ChronoSerena. Pour contribuer :

  1. Forkez le dépôt
  2. Créez une nouvelle branche (git checkout -b branche-fonctionnalite)
  3. Effectuez vos modifications
  4. Committez vos modifications (git commit -m 'Ajouter une fonctionnalité')
  5. Poussez vers la branche (git push origin branche-fonctionnalite)
  6. Ouvrez une Pull Request

Veuillez vous assurer que votre code respecte nos normes de codage et inclut la documentation appropriée.

Licence

Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.

Remerciements

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

About

it's a JAVAFX desktop application about chronic diseases , where we manage three user roles : admin , doctor and patient . (ESPRIT School project)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors