Application de quiz festif construite avec Vue.js 3, Vue Router, Pinia et TailwindCSS.
```bash cd vue-app npm install npm run dev ```
Créez un fichier .env à la racine du projet :
```env VITE_API_URL=http://localhost:3001/api ```
Votre backend doit implémenter les endpoints suivants :
POST /api/auth/login- Connexion (body: { email, password })POST /api/auth/signup- Inscription (body: { email, password, display_name })POST /api/auth/logout- DéconnexionGET /api/auth/profile- Profil utilisateurPUT /api/auth/profile- Modifier profil
GET /api/quizzes- Liste des quiz de l'utilisateurGET /api/quizzes/:id- Détails d'un quizGET /api/quizzes/:id/play- Quiz avec questions (pour jouer)POST /api/quizzes- Créer un quiz (body: { title })PUT /api/quizzes/:id- Modifier un quizDELETE /api/quizzes/:id- Supprimer un quizGET /api/quizzes/:id/stats- Statistiques du quiz
POST /api/quizzes/:quizId/questions- Ajouter une questionPUT /api/questions/:id- Modifier une questionDELETE /api/questions/:id- Supprimer une question
POST /api/quizzes/:id/participate- Soumettre une participationGET /api/participations/:id- Résultat d'une participationGET /api/quizzes/:id/participants- Liste des participants
```json { "token": "jwt_token_here", "user": { "id": "uuid", "email": "user@example.com", "display_name": "John" } } ```
```json { "quiz": { "id": "uuid", "title": "Quiz de Noël", "question_count": 5, "participant_count": 10, "questions": [ { "id": "uuid", "question_text": "Question ?", "options": ["A", "B", "C", "D"], "correct_option_index": 0 } ] } } ```
```json { "quiz": { "id": "uuid", "title": "Quiz" }, "participantCount": 10, "averageScore": 75, "mostMissedQuestion": "Question difficile ?", "participants": [ { "id": "uuid", "participant_name": "Alice", "score": 5, "total_questions": 5 } ] } ```