Đây là danh sách endpoint quan trọng để trả lời câu hỏi “frontend gọi backend ở đâu?”. Controller gốc đều nằm trong backend/src/main/java/com/example/lms/**/infrastructure/web.
Auth và AI
Endpoint
Controller
Ý nghĩa
POST /api/v3/auth/login
AuthControllerV3
Đăng nhập password, trả JWT
POST /api/v3/auth/register
AuthControllerV3
Đăng ký tài khoản
POST /api/v3/auth/google
AuthControllerV3
Google ID token login
GET /api/v3/auth/google/redirect
GoogleOAuthRedirectController
Google OAuth redirect flow
POST /api/v3/ai/token
AiTokenControllerV3
LMS đổi identity sang token Wiii
POST /api/v3/ai/chat
AiAssistantControllerV3
Chat AI non-stream
GET /api/v3/ai/chat/stream
AiAssistantControllerV3
SSE stream chat
Course authoring
Endpoint
Controller
Ý nghĩa
POST /api/v3/courses/{courseId}/chapters
CourseAuthoringControllerV3
Teacher tạo chương
POST /api/v3/courses/chapters/{chapterId}/lessons
CourseAuthoringControllerV3
Teacher tạo bài học
POST /api/v3/courses/lessons/{lessonId}/sections
CourseAuthoringControllerV3
Upload/tạo section, hỗ trợ file Word/PDF/DOCX
PUT /api/v3/courses/lessons/{lessonId}/sections/{sectionId}
CourseAuthoringControllerV3
Sửa section
POST /api/v3/teacher/courses/{courseId}/submit-for-approval
TeacherCoursesControllerV3
Gửi khóa học duyệt/publish
PATCH /api/v3/admin/courses/{courseId}/approve
AdminCoursesControllerV3
Admin/ORG_ADMIN duyệt khóa học
GET /api/v3/teacher/courses/{courseId}/publications
TeacherCoursesControllerV3
Xem lịch sử publication/version
POST /api/v3/teacher/courses/{courseId}/publications/{publicationId}/adopt-all
TeacherCoursesControllerV3
Bulk adopt/pin lớp vào publication
Learning, class, progress
Endpoint
Controller
Ý nghĩa
POST /api/v3/courses/{courseId}/enroll
EnrollmentControllerV3
Student tự ghi danh
GET /api/v3/learning/courses/{courseId}
LearningControllerV3
Lấy nội dung học
POST /api/v3/learning/progress
ProgressControllerV3
Cập nhật tiến độ
POST /api/v3/learning/interactive-video/events
LearningActivityControllerV3
Ghi event interactive video
GET /api/v3/classes/{classId}
LearningClassControllerV3
Quản lý lớp học
Assessment
Endpoint
Controller
Ý nghĩa
GET /api/v3/quizzes
QuizControllerV3
Danh sách quiz
POST /api/v3/quizzes
QuizControllerV3
Tạo quiz
POST /api/v3/quizzes/{quizId}/attempts
QuizControllerV3
Student bắt đầu attempt
POST /api/v3/quizzes/attempts/{attemptId}/submit
QuizControllerV3
Submit quiz, không để Wiii tự bấm
POST /api/v3/questions/import/docx/preview
QuestionControllerV3
Preview import câu hỏi DOCX
POST /api/v3/questions/import/docx/confirm
QuestionControllerV3
Confirm lưu câu hỏi đã preview
POST /api/v3/assignments
AssignmentControllerV3
Tạo assignment
POST /api/v3/submissions/{submissionId}/grade
AssignmentSubmissionControllerV3
Chấm điểm submission
Payment
Endpoint
Controller
Ý nghĩa
POST /api/v3/payments/vnpay/create-url
PaymentControllerV3
Tạo URL thanh toán VNPay
GET /api/v3/payments/vnpay-ipn
PaymentControllerV3
VNPay server-to-server IPN
GET /api/v3/payments/vnpay-return
PaymentControllerV3
Browser return URL
POST /api/v3/payments/sepay/create-qr
PaymentControllerV3
Tạo QR chuyển khoản SePay
POST /api/v3/payments/sepay/webhook
PaymentControllerV3
SePay webhook
GET /api/v3/payments/sepay/poll/{txnId}
PaymentControllerV3
FE polling trạng thái SePay
POST /api/v3/payments/admin/{paymentId}/refund
PaymentControllerV3
Admin/ORG_ADMIN refund
Competency và Wiii integration
Endpoint
Controller
Ý nghĩa
GET /api/v3/standards
CompetencyMappingController
List maritime standards
GET /api/v3/standards/{standardId}/competencies
CompetencyMappingController
List competencies
GET /api/v3/courses/{courseId}/competency-map
CompetencyMappingController
Matrix năng lực theo course
PUT /api/v3/lessons/{lessonId}/competencies
CompetencyMappingController
Update lesson competencies
GET /api/v3/courses/{courseId}/competency-map/export
CompetencyMappingController
Export CSV
POST /api/v3/integration/courses/generate
WiiiCourseGenerationController
Wiii tạo course draft qua service auth
POST /api/v3/integration/courses/generate/{courseId}/chapters