Logo Lanfrica

vincediegane/saas-gestion-fitness

Domain:

digital infrastructure

Record type:

software
Creator:
vin
Host:
FitManager - SaaS de gestion de salles de sport et fitness pour le Senegal (Spring Boot + React) # FitManager — SaaS de gestion de salles de sport (Sénégal) Plateforme cloud multi-tenant pour la gestion de salles de musculation et fitness en Afrique francophone : membres, abonnements, contrôle d'accès par QR code, paiements (cash + mobile money), coaching, boutique, comptabilité, et 6 agents IA (actuellement en mode règles/templates — voir Statut). ## Stack réellement utilisée - **Backend** : Java 21, Spring Boot 3.5, Spring Security (JWT), PostgreSQL 16 (isolation multi-tenant par Row-Level Security), Redis, Flyway, PDFBox, Maven - **Frontend** : React 19, TypeScript, Vite, Material UI, TanStack React Query, React Router — état d'authentification en simple React Context (pas de librairie d'état globale) - **Infra locale** : Docker Compose (Postgres + Redis pour le dev) Le backend est un **module Spring Boot unique** (`backend/core-service`), pas une architecture microservices — voir docs/01-architecture-technique.md pour la distinction entre ce qui est construit et la cible à plus long terme. ## Lancer le projet en local **1. Base de données et cache** ```bash docker compose up -d postgres redis ``` **2. Backend** (nécessite un `JWT_SECRET` — l'app refuse de démarrer sans, volontairement) : ```bash cd backend/core-service # .env.example documente les variables (dont un JWT_SECRET de dev) — Spring # Boot ne les charge pas automatiquement, il faut les exporter vous-même : JWT_SECRET=qVlqut5yV2ci1LPxIgPSHwsJgNLovY9zxMe0hnK2o68= ./mvnw spring-boot:run ``` Démarre sur `localhost`. Migrations Flyway appliquées automatiquement au démarrage. **3. Frontend** ```bash cd frontend/web-app npm install npm run dev ``` Démarre sur `localhost` (Vite). Nécessite Node `^20.19.0` ou `>=22.12.0`. **4. Premier compte** Ouvrez `localhost` pour créer votre organisation et votre compte propriétaire — aucun compte n'est préconfiguré. ## Documentation de conception L'architecture (technique, fonctionnelle, base de données, API, ag …