Skip to content

Finalize MVP: auth/session, courses, lessons, quiz & progress (stabilize backend + implement frontend)#13

Merged
BryanSeidy merged 1 commit intodevelopfrom
codex/finalize-ed-tech-mvp-deliverables
Apr 24, 2026
Merged

Finalize MVP: auth/session, courses, lessons, quiz & progress (stabilize backend + implement frontend)#13
BryanSeidy merged 1 commit intodevelopfrom
codex/finalize-ed-tech-mvp-deliverables

Conversation

@BryanSeidy
Copy link
Copy Markdown
Owner

Motivation

  • Stabiliser le parcours produit clé (register → login → /api/auth/me → logout) et exposer un parcours apprenant complet (catalogue → cours → leçon → quiz → progression) sans surfaces non prêtes (live/certificat/paiement).
  • Éviter les régressions API et garantir des réponses d'erreur uniformes pour faciliter l'intégration frontend.
  • Fournir un script de vérification locale et une CI minimale pour valider rapidement le MVP avant pré-prod.

Description

  • Backend: uniformisation des erreurs API et handlers dans backend/bootstrap/app.php (codes validation_error, unauthenticated, already_enrolled, server_error), et ajout de throttling throttle:10,1 sur POST /api/auth/register et POST /api/auth/login.
  • Backend: restauration/ajout des méthodes utilisées par les routes dans ProgressController (markLessonCompleted, showCourseProgress) et correction des modèles/relations (Question fields -> quiz_id/question_text, suppression de pdf_file de Lesson::$fillable, correction des résolutions quiz -> lesson -> module -> course dans AttemptController).
  • Backend: ajout/ajustement de tests features critiques (backend/tests/Feature/AuthApiTest.php, CourseStructureApiTest.php, EnrollmentApiTest.php, nouveau QuizProgressApiTest.php) pour couvrir auth/session, liste cours, détail cours, soumission quiz et progression.
  • Frontend: implémentation du parcours apprenant (dashboard orienté parcours, pages courses, courses/[courseId], lessons/[lessonId], quiz/[quizId]) avec services API concrets dans frontend/src/services/api/{courseService,quizService,progressService}.ts et gestion simple des états loading/error.
  • Frontend: ajout d'un smoke script frontend/scripts/smoke.mjs et script npm smoke, styles utilitaires et mise à jour du package.json.
  • Pre-prod / infra: ajout d'un script local scripts/run_mvp_check.sh, CI minimal .github/workflows/ci.yml (frontend: smoke/lint/build, backend: migrate+tests) et mise à jour du README.md avec checklist MVP.

Testing

  • Frontend automated checks executed: cd frontend && npm run smoke passed, npm run lint passed and npm run build passed (routes/pages compiled and prerendered).
  • Backend dependency install attempted: cd backend && composer install --no-interaction --prefer-dist failed due to network restrictions (GitHub CONNECT tunnel 403), so backend bootstrap (php artisan key:generate), migrations/seeds and php artisan test could not be executed in this environment.
  • Backend automated tests added: AuthApiTest, CourseStructureApiTest, EnrollmentApiTest (modified) and new QuizProgressApiTest were committed to validate auth/session flow, course list/detail, quiz submission and course progress (they are present but not runnable here until vendors are installed).
  • CI artifacts added: .github/workflows/ci.yml will run the frontend smoke/lint/build and backend migrate:fresh --seed + php artisan test when run in CI with network access.

Codex Task

@BryanSeidy BryanSeidy merged commit 9a22e3e into develop Apr 24, 2026
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant