Commit graph

408 commits

Author SHA1 Message Date
supalerk-ar66
2cd1d481aa feat: add learning classroom interface with video playback and a new dashboard index page. 2026-02-02 16:42:30 +07:00
supalerk-ar66
0ec99b140a feat: add user dashboard, profile management, and password reset pages. 2026-02-02 16:33:57 +07:00
JakkrapartXD
ec67c7c6b6 feat: normalize chapter sort_order to prevent gaps and duplicates in course chapters
Add normalizeChapterSortOrder method to ensure sequential 1-based sort_order values. Update reorderChapter to normalize before reordering and validate new position against chapter count. Call normalization after chapter deletion to fill gaps in remaining chapters.
2026-02-02 16:27:27 +07:00
JakkrapartXD
2b248cad10 feat: normalize lesson sort_order to prevent gaps and duplicates in chapter lessons
Add normalizeLessonSortOrder method to ensure sequential 1-based sort_order values. Update reorderLesson to normalize before reordering and validate new position against lesson count. Call normalization after lesson deletion to fill gaps in remaining lessons.
2026-02-02 16:16:28 +07:00
JakkrapartXD
69e4806831 feat: normalize question sort_order to prevent gaps and duplicates in quiz questions
Add normalizeQuestionSortOrder method to ensure sequential 1-based sort_order values. Update reorderQuestion to normalize before reordering and validate new position against question count. Call normalization after question deletion to fill gaps in remaining questions.
2026-02-02 15:50:23 +07:00
supalerk-ar66
4461c1d119 No changes were provided to summarize. 2026-02-02 15:45:09 +07:00
supalerk-ar66
2e0675f1c9 feat: add core user pages for my courses, profile settings, course discovery, and learning classroom. 2026-02-02 15:34:40 +07:00
supalerk-ar66
4c9b6b0f3f feat: add new pages for course discovery, course details, classroom activities, user dashboard, password reset, and internationalization support. 2026-02-02 14:37:33 +07:00
JakkrapartXD
7ac1a5af0a feat: remove published status check when deleting lessons
Remove validation that prevented deletion of published lessons. Lessons can now be deleted regardless of their published status without requiring unpublishing first.
2026-02-02 14:34:17 +07:00
JakkrapartXD
b7e4f45942 feat: add student endpoint for listing course announcements
Add new AnnouncementsStudentController with GET endpoint for students to retrieve course announcements with pagination support. Endpoint requires JWT authentication and validates course enrollment.
2026-02-02 11:49:23 +07:00
JakkrapartXD
18b8f4501f feat: add is_skippable field to Quiz model with default value true
Add is_skippable boolean field to Quiz schema, update quiz creation and update logic to handle the new field, and include it in student course content responses. Update seed data and type definitions accordingly.
2026-02-02 11:17:20 +07:00
supalerk-ar66
b60a3853cd feat: Implement initial landing pages, authentication flows, and course browsing functionality with i18n. 2026-02-02 11:11:33 +07:00
Missez
7de5457170 edit: response.message 2026-02-02 09:31:37 +07:00
JakkrapartXD
d7f824f353 feat: standardize login response format with code, message, and data wrapper
Update login endpoint to return consistent API response structure with code, message, and data fields. Wrap token, refreshToken, and user data inside a data object to match the standardized response format used across other endpoints.
2026-01-30 17:54:43 +07:00
JakkrapartXD
4ff57555a2 feat: conditionally hide correct_answers count based on show_answers_after_completion setting
Update quiz submission response to respect the show_answers_after_completion setting by conditionally including the correct_answers count. When show_answers_after_completion is false, correct_answers is now undefined instead of being exposed.
2026-01-30 17:51:33 +07:00
JakkrapartXD
bf5d939910 feat: add role-based frontend URL routing for password reset and email verification
Add separate frontend URL environment variables for student and instructor portals. Update password reset and email verification services to route users to the appropriate frontend based on their role (INSTRUCTOR vs STUDENT).
2026-01-30 17:29:08 +07:00
JakkrapartXD
16322454b1 feat: change default is_published value to true for chapters and lessons 2026-01-30 17:16:21 +07:00
JakkrapartXD
10a71c9a15 feat: standardize category update response format with code, message, and data wrapper 2026-01-30 15:23:29 +07:00
JakkrapartXD
14c1222a4e a 2026-01-30 08:02:50 +00:00
supalerk-ar66
ffd3a08ad5 feat: Add data fetching utility imports for sessions, workspaces, users, invitations, and teams to the session API route. 2026-01-30 14:59:30 +07:00
JakkrapartXD
babccc4869 feat: add email verification endpoints with token-based verification and SMTP integration 2026-01-30 14:53:50 +07:00
supalerk-ar66
9629f79c52 feat: Add core e-learning pages for authentication, course discovery, learning, and user dashboard. 2026-01-30 14:42:08 +07:00
supalerk-ar66
c4f68eb927 feat: Implement My Courses page with course cards, filtering, and certificate download functionality. 2026-01-30 14:34:50 +07:00
JakkrapartXD
9ed2347843 feat: add certificate generation system with PDF template and Thai font support 2026-01-30 14:14:00 +07:00
supalerk-ar66
c72b76c2a5 feat: Add "My Courses" page for enrolled course management and "Course Discovery" page for browsing and enrolling in courses. 2026-01-30 13:37:40 +07:00
Missez
878a17f922 feat: Implement instructor course and lesson management with dedicated views for quizzes, videos, and admin categories. 2026-01-30 11:48:13 +07:00
JakkrapartXD
344e1e4341 feat: track approval metadata and rejection reason in course status updates 2026-01-30 10:15:43 +07:00
supalerk-ar66
7ce1cd9866 feat: add initial project setup and basic file structure 2026-01-29 18:02:09 +07:00
JakkrapartXD
ed8aaf4ec2 refactor: remove thumbnail_url requirement from course creation validator 2026-01-29 17:58:05 +07:00
supalerk-ar66
d570e96515 feat: create login page component 2026-01-29 17:56:59 +07:00
supalerk-ar66
7eafa0f79e feat: Implement core e-learning pages for My Courses, Classroom, and Course Detail. 2026-01-29 17:52:52 +07:00
supalerk-ar66
90a8cb6509 feat: add classroom learning page with video player and robust progress tracking 2026-01-29 17:17:45 +07:00
JakkrapartXD
18816c4fb2 refactor: extract lesson completion logic into shared markLessonComplete method and add course progress tracking to video and quiz responses 2026-01-29 17:17:15 +07:00
supalerk-ar66
ab560809c7 Please provide the file changes to generate a commit message. 2026-01-29 17:05:12 +07:00
supalerk-ar66
b41b59cc7c feat: Implement a comprehensive quiz interface with start, taking, result, and review screens, including a timer and navigation. 2026-01-29 16:52:49 +07:00
JakkrapartXD
24c37df4ef refactor: reorder searchInstructors endpoint and fix role code to uppercase INSTRUCTOR, add lesson completion tracking on quiz pass 2026-01-29 16:39:33 +07:00
supalerk-ar66
8e57cb124a feat: implement core e-learning classroom functionality including login, lesson viewing, and quiz pages. 2026-01-29 16:26:35 +07:00
JakkrapartXD
0641b2547a refactor: simplify instructor search to query all instructors without course-specific filtering 2026-01-29 16:17:25 +07:00
JakkrapartXD
f4a12c686b feat: Implement instructor search and improve instructor management with email/username lookup and avatar presigned URLs. 2026-01-29 15:52:10 +07:00
supalerk-ar66
38e7f1bf06 feat: Add i18n support with English and Thai locales and implement the new classroom learning page with course curriculum and video playback. 2026-01-29 15:07:45 +07:00
supalerk-ar66
6146d65949 feat: add classroom learning and quiz pages for course content delivery and assessment. 2026-01-29 14:39:46 +07:00
supalerk-ar66
b59eac1388 feat: Add useMediaPrefs composable for persistent media playback controls and introduce the classroom learning page. 2026-01-29 14:02:32 +07:00
supalerk-ar66
4c575dc734 feat: Implement e-learning classroom with video playback, progress tracking, and quiz functionality, alongside new course and category composables and Thai localization. 2026-01-29 13:17:58 +07:00
supalerk-ar66
9232b6a21d feat: Implement core e-learning classroom interface, user dashboard pages, authentication composable, and Thai localization. 2026-01-29 11:09:29 +07:00
supalerk-ar66
85d7c5c913 feat: create CourseCard component for displaying course details, progress, and actions 2026-01-29 10:07:32 +07:00
supalerk-ar66
240cafb571 feat: Introduce dashboard, my courses, and browse pages for learner course discovery and management. 2026-01-29 10:07:32 +07:00
Missez
a24f8c4982 feat: Implement instructor module with course management pages and API services. 2026-01-29 09:47:49 +07:00
JakkrapartXD
07ab43a785 feat: update getCourseById endpoint to return single course response type and improve error handling. 2026-01-28 17:08:44 +07:00
JakkrapartXD
b303c50865 feat: add dedicated thumbnail upload endpoint for courses with old file cleanup and presigned URL generation. 2026-01-28 16:47:08 +07:00
supalerk-ar66
b0383b78e9 feat: Add initial English localization strings for the e-learning application. 2026-01-28 15:56:44 +07:00