🏗️ Architecture

🔄 CI/CD & Déploiement

FitConnect - Plateforme Fitness

Plateforme Fitness Complète - Application moderne avec authentification SSO, monitoring et déploiement Kubernetes

FitConnect est une plateforme web complète dédiée au fitness, déployée sur Google Kubernetes Engine (GKE) avec toutes les bonnes pratiques de production.

Pretty picture

🎯 Vue d'Ensemble du Projet

FitConnect combine une architecture microservices moderne avec des technologies de pointe pour offrir une expérience utilisateur exceptionnelle dans le domaine du fitness.

🎯 Présentation du Projet FitConnect

FitConnect est une plateforme de coaching fitness personnalisé qui permet aux coachs et influenceurs de gérer facilement leurs clients, proposer des programmes sur-mesure et suivre les progrès en temps réel.

Vision du Projet

Dans un monde où la santé et le bien-être sont devenus des priorités, les influenceurs fitness jouent un rôle clé en inspirant et en accompagnant des milliers de personnes dans leur transformation physique. Notre plateforme permet aux coachs et influenceurs de gérer facilement leurs clients, de proposer des programmes sur-mesure et de suivre les progrès en temps réel.

🎯 Fonctionnalités Actuellement Implémentées

Basé sur l'état actuel du développement, voici les fonctionnalités réalisées dans FitConnect :

Core Features Implémentées

🔐 Authentification et Gestion des Comptes

  • Création de compte Coach et Client
  • Validation de mot de passe avec critères de sécurité
  • Envoi de mail de confirmation automatique
  • Connexion SSO via Keycloak
  • Profils utilisateurs personnalisés

💪 Gestion des Entraînements

  • Création d'exercices personnalisés
  • Création de programmes d'entraînement
  • Planification des séances d'entraînement
  • Base de données exercices avec catégories

🥗 Système Nutritionnel

  • Création d'ingrédients avec valeurs nutritionnelles
  • Création de repas équilibrés
  • Plans nutritionnels personnalisés
  • Planification des repas quotidiens

💬 Communication et Interaction

  • Messagerie en temps réel entre client et coach
  • Système de notifications intégré
  • Interface chat responsive

💳 Gestion des Abonnements

  • Système d'abonnement pour les coachs
  • Intégration Stripe pour les paiements
  • Gestion des statuts d'abonnement

🤝 Système de Coaching

  • Demande d'un client vers un coach
  • Acceptation/refus de la demande par le coach
  • Gestion des relations coach-client

🚧 MVP Fonctionnel

Le Minimum Viable Product (MVP) actuel comprend :

ModuleStatutFonctionnalités
Authentification CompletSSO, validation, confirmation email
Gestion Utilisateurs CompletProfils coach/client, abonnements
Exercices & Programmes CompletCRUD exercices, programmes personnalisés
Nutrition CompletIngrédients, repas, plans nutritionnels
Planification CompletSéances, repas, calendrier
Communication CompletChat temps réel, notifications
Coaching CompletDemandes, acceptation, suivi
Paiements CompletStripe, abonnements, facturation

🔄 Roadmap Prochaines Étapes

Phase 2 - Amélioration UX

  • 📊 Tableaux de bord avec graphiques de progression
  • 📱 Optimisation mobile et PWA
  • 🎨 Interface utilisateur avancée

Phase 3 - Fonctionnalités Avancées

  • 📈 Suivi des performances et statistiques
  • 📷 Upload photos avant/après
  • 🔔 Notifications push mobile

Phase 4 - Intelligence Artificielle

  • 🤖 Suggestions automatiques d'exercices
  • 📈 Prédiction des progressions
  • 🎯 Recommandations personnalisées

Architecture Technique

Stack Technique Implémentée

CoucheTechnologieVersionStatut
FrontendReact.js + TypeScript18.x Déployé
CSS FrameworkTailwind CSS3.x Configuré
BackendNestJS + TypeScript10.x Production
Base de DonnéesPostgreSQL14 Cluster GKE
AuthentificationKeycloak SSO24.x Fonctionnel
PaiementsStripe APILatest Intégré
MessagingWebSocket + Socket.io- Temps réel
EmailSMTP + Nodemailer- Notifications
MonitoringUptime KumaLatest 24/7
AdministrationAdminerLatest DB Management
OrchestrationKubernetes (GKE)1.28+ Production
CI/CDGitLab CI- Automatisé

📊 Infrastructure Déployée

État Actuel du Cluster

Basé sur votre cluster en production :

PODS EN PRODUCTION (AGE: 8 jours)
┌─────────────────────────────────────┐
 Frontend 2/2 Running
 API NestJS 1/1 Running  
 PostgreSQL 1/1 Running
 Keycloak 1/1 Running
 Adminer 1/1 Running
 Uptime Kuma 1/1 Running
└─────────────────────────────────────┘

SERVICES EXPOSÉS
┌─────────────────────────────────────────────────┐
 Service Type External IP
├─────────────────────────────────────────────────┤
 frontend-service LoadBalancer 34.38.27.13
 api-service LoadBalancer 34.38.105.6
 adminer-service LoadBalancer 34.52.160.140
 uptime-kuma LoadBalancer 34.79.238.35
 keycloak-service ClusterIP Internal
 postgres-service ClusterIP Internal
└─────────────────────────────────────────────────┘

🔗 Accès aux Services

ServiceURL ProductionDescription
Applicationfitnessconnect.frInterface utilisateur principale
API RESTapi.fitnessconnect.frEndpoints backend
Authentificationlogin.fitnessconnect.frPortail Keycloak SSO
Administration DBadminer.fitnessconnect.frInterface PostgreSQL
Monitoringuptimekuma.fitnessconnect.frSurveillance système

Tests Implémentés

Tests Frontend (React + TypeScript)

  • Tests Unitaires : Jest + React Testing Library
  • Tests Composants : Vérification des rendus et interactions
  • Tests E2E : Cypress pour parcours utilisateur complets

Tests Backend (NestJS)

  • Tests Unitaires : Jest avec couverture > 80%
  • Tests Intégration : Base de données PostgreSQL de test

Qualité Code

  • TypeScript Strict : Typage fort sur frontend et backend
  • ESLint + Prettier : Standards de code cohérents

🚀 Déploiement & CI/CD

Pipeline GitLab CI

Stages Automatisés:
┌─────────────────────────────────────┐
│ 1. TEST     │ Unit + Integration    │
│ 2. BUILD    │ Docker Images         │
│ 3. DEPLOY   │ GKE Production        │
└─────────────────────────────────────┘
---