Skip to content

Projet-PulseAI/PulseAI-Android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PulseAI - Application Mobile Android

Application mobile Flutter pour PulseAI, un système de santé intelligent avec diagnostic médical, chatbot thérapeutique, géolocalisation d'hôpitaux et scanner de médicaments.

🎯 Fonctionnalités

  • Diagnostic Médical IA : Diagnostic rapide basé sur les symptômes avec IA médicale
  • Chatbot Thérapeutique : Assistant virtuel pour le bien-être mental
  • Carte des Hôpitaux : Géolocalisation et recherche d'hôpitaux avec services
  • Scanner de Médicaments : Vérification OCR de la qualité et information médicamenteuse
  • Profil Médical : Gestion du dossier médical personnel avec carte d'identité médicale
  • Multilingue : Support de 8 langues (FR, EN, Ewe, Kabye, Kotokoli, Fon, Yoruba, Lingala)
  • Mode Sombre : Interface adaptative avec thème clair/sombre

📱 Prérequis

  • Flutter SDK >= 3.9.2
  • Dart >= 3.9.2
  • Android Studio ou VS Code
  • Compte Firebase configuré
  • Backend PulseAI déployé

🚀 Installation

1. Cloner le projet

git clone https://github.com/Projet-PulseAI/PulseAI-Android.git
cd PulseAI-Android

2. Installer les dépendances

flutter pub get

3. Configuration Firebase

Option A : Utiliser FlutterFire CLI (Recommandé)

# Installer FlutterFire CLI
dart pub global activate flutterfire_cli

# Configurer Firebase
flutterfire configure

Option B : Configuration manuelle

  1. Créer un projet Firebase sur console.firebase.google.com
  2. Activer Authentication (Email/Password et Google Sign-In)
  3. Activer Cloud Firestore
  4. Télécharger google-services.json et placer dans android/app/
  5. Mettre à jour lib/firebase_options.dart avec vos credentials

4. Configuration de l'API Backend

Modifier lib/services/api_config.dart:

static const String backendBase = 'https://votre-backend.com';

5. Keystore Android (pour release)

Créer android/key.properties:

storePassword=votre-mot-de-passe
keyPassword=votre-mot-de-passe
keyAlias=pulseai
storeFile=/chemin/vers/pulseai-keystore.jks

Générer un keystore:

keytool -genkey -v -keystore pulseai-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias pulseai

🏃 Lancement

Mode debug

flutter run

Build APK

flutter build apk --release

Build App Bundle (Google Play)

flutter build appbundle --release

📂 Structure du Projet

lib/
├── core/
│   ├── constants/      # Constantes (assets, couleurs)
│   ├── theme/          # Thème et styles
│   ├── utils/          # Utilitaires (responsive, helpers)
│   └── widgets/        # Widgets réutilisables
├── l10n/              # Fichiers de traduction (ARB)
│   └── generated/     # Traductions générées
├── providers/         # State management (Provider)
├── screens/           # Écrans de l'application
├── services/          # Services API et business logic
│   └── firebase/      # Services Firebase
└── main.dart          # Point d'entrée

android/               # Configuration Android
assets/               # Images et données
  ├── images/
  └── data/

🎨 Design System

  • Couleur Principale : #0077B6 (Ocean Blue)
  • Couleur Secondaire : #00B4D8 (Cyan)
  • Police : Google Fonts (Poppins, Inter)
  • Composants : Material Design 3 avec personnalisation

🌍 Localisation

Langues supportées:

  • 🇫🇷 Français (fr)
  • 🇬🇧 English (en)
  • 🇹🇬 Ewe (ee)
  • 🇹🇬 Kabye (kbp)
  • 🇹🇬 Kotokoli (tem)
  • 🇧🇯 Fon (fon)
  • 🇳🇬 Yoruba (yo)
  • 🇨🇩 Lingala (ln)

Pour ajouter une traduction:

  1. Éditer lib/l10n/app_[code].arb
  2. Lancer flutter gen-l10n

🔒 Sécurité

  • Authentification Firebase (Email/Password + Google)
  • Stockage sécurisé (shared_preferences)
  • HTTPS pour toutes les communications API
  • Validation des entrées utilisateur
  • Gestion des permissions Android

🧪 Tests

# Tests unitaires
flutter test

# Tests d'intégration
flutter drive --target=test_driver/app.dart

📦 Dépendances Principales

  • firebase_core & firebase_auth : Authentification
  • cloud_firestore : Base de données
  • provider : State management
  • dio : Client HTTP
  • flutter_map : Cartographie
  • geolocator : Géolocalisation
  • camera : Capture d'images
  • flutter_tts : Text-to-speech
  • speech_to_text : Reconnaissance vocale

🐛 Débogage

Problèmes courants

Erreur Firebase:

flutter clean
flutter pub get
flutterfire configure

Erreur de build Android:

cd android && ./gradlew clean
cd .. && flutter clean
flutter pub get

Erreur de dépendances:

flutter pub cache repair
flutter pub get

📱 Compatibilité

  • Android : Min SDK 21 (Android 5.0+)
  • Target SDK : 36 (Android 14)
  • Testé sur : Android 5.0 à Android 14

🤝 Contribution

  1. Fork le projet
  2. Créer une branche (git checkout -b feature/AmazingFeature)
  3. Commit les changements (git commit -m 'Add AmazingFeature')
  4. Push vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrir une Pull Request

📄 Licence

Ce projet est sous licence propriétaire. Tous droits réservés.

👥 Équipe

📧 Contact

Pour toute question ou support : [email protected]

🔗 Liens


Développé avec ❤️ par Neuractif Initiatives pour la santé numérique en Afrique

About

Android Version of PulseAI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •