Backend API (Current)
Base URL during local backend development:
http://127.0.0.1:8000/api
Public Routes
GET /coursesGET /courses/{course}
Protected Routes (Sanctum)
Courses
POST /coursesPUT /courses/{course}PATCH /courses/{course}DELETE /courses/{course}
Enrollments
GET /courses/{course}/enrollmentsPOST /courses/{course}/enrollmentsDELETE /courses/{course}/enrollments/{enrollment}
Modules
GET /courses/{course}/modulesPOST /courses/{course}/modulesGET /courses/{course}/modules/{module}PUT /courses/{course}/modules/{module}PATCH /courses/{course}/modules/{module}DELETE /courses/{course}/modules/{module}
Lessons
GET /modules/{module}/lessonsPOST /modules/{module}/lessonsGET /modules/{module}/lessons/{lesson}PUT /modules/{module}/lessons/{lesson}PATCH /modules/{module}/lessons/{lesson}DELETE /modules/{module}/lessons/{lesson}
Progress
POST /lessons/{lesson}/progressPUT /lessons/{lesson}/progress
Quizzes
GET /courses/{course}/quizzesPOST /courses/{course}/quizzesGET /courses/{course}/quizzes/{quiz}PUT /courses/{course}/quizzes/{quiz}PATCH /courses/{course}/quizzes/{quiz}DELETE /courses/{course}/quizzes/{quiz}
Quiz Attempts
GET /quizzes/{quiz}/attemptsPOST /quizzes/{quiz}/attempts
Reviews
GET /courses/{course}/reviewsPOST /courses/{course}/reviewsPUT /courses/{course}/reviews/{review}PATCH /courses/{course}/reviews/{review}DELETE /courses/{course}/reviews/{review}
Payments
GET /paymentsPOST /courses/{course}/payments
Notes
- Access control is role-aware for student/instructor/admin.
- Progress and quiz attempt actions include enrollment/instructor checks.
- Request validation is handled with FormRequest classes.