Un pass. Toutes les salles leGym.
Application web moderne permettant aux utilisateurs d'accéder à un réseau de salles de sport franchisées avec un seul compte. Suivez vos défis, gagnez des badges et consultez le classement en temps réel.
👉 https://le-gym-esgi.vercel.app/
Testez l'application directement dans votre navigateur !
Une collection Postman est disponible pour tester tous les endpoints de l'API :
- Téléchargez et installez Postman
- Importez le fichier
leGym.postman_collection.jsonsitué à la racine du projet - Configurez les variables d'environnement dans Postman :
baseUrl:https://le-gym-esgi.vercel.app(ouhttp://localhost:3000en local)clientEmail,ownerEmail,adminEmail: emails des comptes de testpassword: mot de passe des comptes
| Catégorie | Endpoints |
|---|---|
| Auth | Login (Client/Owner/Admin), Who Am I |
| Public | Home Data, List Gyms, Gym Detail, Challenges, Leaderboard |
| Client | Join Challenge, Log Workout, Sync Badges, Get Rank |
| Owner | Create/Update Gym, Get My Gym |
| Admin | Manage Users, Exercise Types, Badges, Approve/Reject Gyms |
- Framework : Next.js 15 (App Router)
- Langage : TypeScript
- Styles : Tailwind CSS + shadcn/ui
- Base de données : Prisma ORM (SQLite dev / PostgreSQL prod)
- Authentification : Better Auth
- Déploiement : Vercel
# Cloner le repository
git clone <repo-url>
cd le-gym
# Installer les dépendances
pnpm install
# Configurer l'environnement
cp .env.example .env
# Initialiser la base de données
pnpm prisma migrate dev
# Peupler avec des données de test
pnpm prisma db seed
# Lancer le serveur de développement
pnpm devL'application sera accessible sur http://localhost:3000
| Commande | Description |
|---|---|
pnpm dev |
Démarre le serveur de développement |
pnpm build |
Build de production |
pnpm lint |
Analyse ESLint |
pnpm format |
Formatage Prettier |
pnpm typecheck |
Vérification TypeScript |
pnpm prisma studio |
Interface graphique pour la BDD |
- Développement : SQLite (
file:./prisma/dev.db) - Production : PostgreSQL (configurez
DATABASE_URL)
| Rôle | Permissions |
|---|---|
| Client | Rejoindre des défis, logger ses séances, consulter ses badges |
| Gym Owner | Gérer sa salle, créer des défis |
| Super Admin | Gestion complète (utilisateurs, salles, badges, types d'exercices) |
Projet réalisé dans le cadre de l'ESGI — 2025