GBCM Mobile App

Application mobile pour la plateforme GBCM (Global Business Consulting and Management) développée avec React Native.

Description

Application mobile native iOS et Android permettant aux utilisateurs GBCM d'accéder à leurs services de coaching, ateliers et tableaux de bord depuis leurs appareils mobiles.

Technologies

  • React Native 0.72.6 - Framework mobile cross-platform
  • React 18.2.0 - Bibliothèque UI
  • React Navigation 6 - Navigation
  • Redux Toolkit - Gestion d'état
  • React Native Paper - Composants Material Design
  • React Hook Form - Gestion des formulaires
  • Axios - Client HTTP
  • React Native Keychain - Stockage sécurisé
  • React Native Chart Kit - Graphiques
  • React Native Calendars - Calendrier

Prérequis

Environnement de développement

  • Node.js 16+
  • npm ou yarn
  • React Native CLI
  • Java 11+ (Android)
  • Xcode 14+ (iOS)
  • Android Studio (Android)

Appareils/Simulateurs

  • iOS Simulator (macOS uniquement)
  • Android Emulator
  • Appareils physiques iOS/Android

Installation

  1. Cloner le repository
git clone https://git.lions.dev/gbcm/gbcm-mobile-app.git
cd gbcm-mobile-app
  1. Installer les dépendances
npm install
# ou
yarn install
  1. Installation des pods iOS (macOS uniquement)
cd ios && pod install && cd ..
  1. Configuration Copier .env.example vers .env et configurer :
API_BASE_URL=https://api.gbcm.com/v1
API_TIMEOUT=10000
ENVIRONMENT=development

Développement

Démarrage du Metro bundler

npm start
# ou
yarn start

Lancement sur iOS

npm run ios
# ou
yarn ios

Lancement sur Android

npm run android
# ou
yarn android

Tests

npm test
# ou
yarn test

Structure du projet

src/
├── components/             # Composants réutilisables
│   ├── common/            # Composants communs
│   ├── forms/             # Composants de formulaires
│   └── charts/            # Graphiques
├── screens/               # Écrans de l'application
│   ├── auth/              # Authentification
│   ├── dashboard/         # Tableaux de bord
│   ├── coaching/          # Sessions de coaching
│   ├── workshops/         # Ateliers
│   └── profile/           # Profil utilisateur
├── navigation/            # Configuration navigation
├── services/              # Services API
├── store/                 # Gestion d'état Redux
├── utils/                 # Utilitaires
└── assets/                # Ressources statiques

Fonctionnalités

Authentification

  • Connexion/déconnexion sécurisée
  • Authentification biométrique (Touch ID/Face ID)
  • Stockage sécurisé des tokens
  • Gestion des sessions

Dashboard

  • Vue d'ensemble personnalisée
  • Métriques et KPIs
  • Notifications push
  • Accès rapide aux services

Coaching

  • Liste des sessions programmées
  • Détails des sessions
  • Historique des sessions
  • Évaluation des sessions

Ateliers

  • Catalogue des ateliers disponibles
  • Inscription aux ateliers
  • Calendrier des événements
  • Matériel de formation

Profil

  • Informations personnelles
  • Paramètres de l'application
  • Préférences de notification
  • Support et aide

Services API

Configuration

// src/services/api.js
const API_BASE_URL = 'https://api.gbcm.com/v1';

Services disponibles

  • authService - Authentification
  • userService - Gestion utilisateur
  • coachingService - Services de coaching
  • workshopService - Gestion des ateliers
  • notificationService - Notifications

Gestion d'état

Redux Store

// Structure du store
{
  auth: {
    user: null,
    token: null,
    isAuthenticated: false,
    loading: false
  },
  coaching: {
    sessions: [],
    currentSession: null
  },
  workshops: {
    available: [],
    registered: []
  }
}

Navigation

Structure de navigation

  • Auth Stack - Écrans d'authentification
  • Main Tab Navigator - Navigation principale
    • Dashboard
    • Coaching
    • Ateliers
    • Profil
  • Modal Stack - Écrans modaux

Build et déploiement

Build Android

cd android
./gradlew assembleRelease

Build iOS

cd ios
xcodebuild -workspace GBCMMobile.xcworkspace \
  -scheme GBCMMobile \
  -configuration Release \
  -destination generic/platform=iOS \
  -archivePath GBCMMobile.xcarchive archive

Distribution

  • Android: Google Play Store
  • iOS: Apple App Store
  • Enterprise: Distribution interne

Tests

Tests unitaires

npm run test:unit

Tests d'intégration

npm run test:integration

Tests E2E avec Detox

npm run test:e2e:ios
npm run test:e2e:android

Performance

Optimisations

  • Lazy loading des écrans
  • Mise en cache des images
  • Optimisation des re-renders
  • Bundle splitting

Monitoring

  • Crash reporting (Crashlytics)
  • Performance monitoring
  • Analytics utilisateur

Sécurité

Stockage sécurisé

  • Tokens dans Keychain/Keystore
  • Chiffrement des données sensibles
  • Validation côté client

Communication

  • HTTPS uniquement
  • Certificate pinning
  • Validation des certificats

Configuration

Variables d'environnement

  • API_BASE_URL - URL de l'API
  • API_TIMEOUT - Timeout des requêtes
  • ENVIRONMENT - Environnement (dev/staging/prod)

Configuration par environnement

  • config/development.js
  • config/staging.js
  • config/production.js

Support

Licence

Propriétaire - GBCM LLC © 2024

Description
No description provided
Readme 305 KiB
Languages
C++ 42.7%
CMake 34.9%
Dart 14.2%
Swift 3.1%
C 2.6%
Other 2.4%