Coach Personnalisé est une suite logicielle complète ("Dual-App Ecosystem") développée pour digitaliser l'activité des coachs sportifs. L'objectif est de centraliser la gestion des clients, le suivi nutritionnel et l'engagement des clients au sein d'une solution unifiée, éliminant les flux de travail fragmentés (WhatsApp, Excel, etc.).
Projet de Fin de Formation (PFE) - Solicode Tangier. Réalisé par : Mehdi Bentaleb Encadré par : M. ESSARRAJ Fouad
Le projet s'articule autour de deux applications distinctes communiquant via des bases de connaissances communes :
Le tableau de bord central destiné aux administrateurs et au staff (coachs).
- Stack : Laravel 12 (PHP 8.2+), Tailwind CSS, Alpine.js.
- Fonctionnalités : Gestion globale, création de programmes, suivi des performances clients, attribution de repas ("Unified Nutrition Engine").
- Accès : RBAC via Spatie Laravel Permission.
L'application dédiée aux clients pour consulter leurs programmes et interagir avec la plateforme.
- Stack : NativePHP (Laravel 13, PHP 8.4+), Tailwind CSS 4, Alpine.js.
- Fonctionnalités : Approche "Mobile-First", consultation du plan nutritionnel, navigation intuitive (Lucide Icons), expérience utilisateur fluide.
- Service Layer Architecture : Isolement de la logique métier dans
PFE-Project/app/Services. - Mécanismes :
- Création dynamique de plans alimentaires personnalisés.
- Attribution de repas spécifiques par jour.
- Gestion d'une bibliothèque complète d'aliments et de recettes.
- Utilisation de Spatie Laravel Permission pour gérer la hiérarchie :
- Admin : Gestion globale du système et supervision des coachs.
- Staff (Coach) : Gestion indépendante de son propre portefeuille clients et de ses programmes.
- Client : Interface dédiée via l'application mobile.
- Design Minimaliste & Pro basé sur Preline UI.
- Interface moderne, réactive et optimisée pour un usage quotidien (Salle de sport ou bureau).
Le projet a été pensé en suivant une approche hybride, documentée dans le dossier Presentation/ :
- Design Thinking : Phase d'empathie, cartographie des besoins réels (Voir
Presentation/images/designThinking.png). - UML : Conception basée sur l'utilisateur avec Modèle Logique de Données (MLD) et diagrammes de cas d'utilisation (Voir
Presentation/images/diagramme-class.png). - Agile (Scrum) : Développement par itérations.
git clone https://github.com/BenTaleb-Mehdi/Project-PFE.git
cd Project-PFEcd PFE-Project
# Installer les dépendances
composer install
npm install
# Build des assets
npm run build
# Environnement et base de données
cp .env.example .env
php artisan key:generate
php artisan migrate --seed
# Lancer le serveur (Port 8000 par défaut)
php artisan serve# Depuis la racine du dépôt
cd App-mobile
# Installer les dépendances
composer install
npm install
# Build des assets
npm run build
# Environnement et base de données locale mobile (si nécessaire)
cp .env.example .env
php artisan key:generate
php artisan migrate # Si SQLite configuré pour le dev local
# Lancer l'environnement de développement NativePHP ou Serveur de Test
npm run dev
php artisan serve --port=9000
# Ou pour build natif: php artisan native:run