You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jeu interactif où vous devez compléter des citations en choisissant le mot manquant parmi 4 options. Connexion Google pour sauvegarder son meilleur score.
→ Guide complet pour faire tourner le projet en local : DEMARRAGE.md
Architecture
Couche
Stack
Hébergement (prod)
Frontend
React 19 + Vite
Netlify
Backend
Express.js
Render
Base de données
MongoDB (Mongoose)
MongoDB Atlas
Fonctionnement
L'utilisateur se connecte avec Google OAuth
Le backend sélectionne une citation aléatoire parmi une liste de citations drôles (source : Ouest-France).
La citation est affichée avec _____ à la place du mot manquant.
L'utilisateur choisit parmi 4 options ; le résultat et l'auteur sont affichés.
Le meilleur score est sauvegardé en base et affiché.
Scripts
Backend (server/)
Script
Commande
Description
start
npm start
Lance le serveur (node index.js). Utilisé en production (Render).
test
npm test
Lance les tests d'intégration (Jest + Supertest).
Frontend (client/)
Script
Commande
Description
dev
npm run dev
Serveur de développement Vite (hot reload).
build
npm run build
Build de production → dossier dist/ (déployé sur Netlify).
lint
npm run lint
Vérifie le code avec ESLint.
API (backend)
Méthode
Route
Auth
Description
GET
/
Non
Message de bienvenue + infos API.
GET
/health
Non
Health check : statut app + MongoDB.
GET
/auth/google
Non
Redirige vers la page de connexion Google.
GET
/auth/google/callback
Non
Callback OAuth ; redirige vers le frontend avec un token JWT.