Application Mobile
L'application mobile FirstBreath est construite avec React Native et Expo. Elle permet aux entraîneurs et gestionnaires d'écurie de surveiller les chevaux en temps réel, de recevoir des alertes et de gérer la plateforme en déplacement.
Stack Technologique
- Framework : Expo (Managed Workflow)
- Langage : TypeScript
- Réseau : Client API Personnalisé + React Query
- Gestion d'État : React Context Providers (10+ domaines)
- Stockage : AsyncStorage (Jetons sécurisés)
Architecture
L'application reflète les fonctionnalités du Frontend mais optimisées pour le mobile.
Client API
Un client API fortement typé gère toutes les communications avec le backend.
- Auto-Auth : Injecte automatiquement les jetons JWT.
- Mise en cache : Support hors-ligne via React Query.
- Conscience du Contexte : Gère les redirections 401 et l'expiration de session.
Système de Providers
La logique métier est encapsulée dans des Context Providers :
AuthProvider: Gestion de session Connexion/Déconnexion.CamerasProvider: Liste des caméras et état en temps réel.CompaniesProvider/SitesProvider: Hiérarchie multi-locataire.AlertsProvider: Gestion des notifications push.
Développement
Prérequis
- Node.js
- Expo Go (sur votre téléphone) ou Simulateur Android/iOS
Pour Commencer
-
Installer les Dépendances :
cd apps/mobile
npm install -
Démarrer le Serveur de Dev :
npx expo startScannez le QR code avec votre téléphone (application Expo Go).
-
Réinitialiser le Projet (Remise à zéro) :
npm run reset-project
Fonctionnalités
- Surveillance Temps Réel : Visualisation des flux RTSP (via HLS/WebRTC).
- Notifications Push : Alertes immédiates pour les chevaux "STRESSED".
- Tableau de Bord : Métriques agrégées (Cycles Activité/Repos).