JakkrapartXD
eeba244797
a
2026-02-06 15:26:04 +07:00
Missez
127b63de49
feat: Implement initial frontend for admin and instructor roles, including dashboards, course management, authentication, and core services.
2026-02-06 14:58:41 +07:00
JakkrapartXD
832a8f5067
feat: add course approval history endpoint for instructors to view rejection reasons and approval timeline
2026-02-06 14:52:10 +07:00
JakkrapartXD
11c747edab
fix: separate error messages for approved and pending course edit restrictions
2026-02-06 14:34:22 +07:00
JakkrapartXD
50ff78c594
chore: remove tests from .gitignore and add presigned URLs for course thumbnails in admin approval service
2026-02-06 14:18:00 +07:00
supalerk-ar66
4e0191ed1f
feat: implement My Courses page with course listing, progress/completion filtering, and certificate download functionality.
2026-02-06 14:09:02 +07:00
JakkrapartXD
ab9e948fd1
chore: add tests directory to .gitignore
2026-02-06 12:59:48 +07:00
JakkrapartXD
ff63567e86
fix: lower video completion threshold from 99% to 95%
2026-02-06 12:59:48 +07:00
supalerk-ar66
438bc6cd23
feat: implement online classroom page with curriculum sidebar, video player, and announcement system
2026-02-06 12:57:29 +07:00
supalerk-ar66
41089dd5ea
feat: add LandingHeader component with dynamic scroll-triggered styling, navigation links, and authentication-based action buttons.
2026-02-06 11:56:11 +07:00
JakkrapartXD
108f1b73f2
feat: integrate audit logging across authentication, course management, and user operations
...
Add comprehensive audit trail tracking by integrating auditService throughout the application. Track user authentication (LOGIN, REGISTER), course lifecycle (CREATE, APPROVE_COURSE, REJECT_COURSE, ENROLL), content management (CREATE/DELETE Chapter/Lesson), file operations (UPLOAD_FILE, DELETE_FILE for videos and attachments), password management (CHANGE_PASSWORD, RESET_PASSWORD), user role updates (UPDATE
2026-02-05 17:35:37 +07:00
supalerk-ar66
923c8b727a
ED
2026-02-05 16:53:10 +07:00
JakkrapartXD
e79748d03b
style: Remove password placeholder from the register form.
2026-02-05 09:47:59 +00:00
Missez
5b1af9d43b
feat: Implement course instructor management UI with search, add, set primary, and remove instructor capabilities.
2026-02-05 16:39:58 +07:00
supalerk-ar66
7ad15778e6
feat: add Docker Compose configuration for the learner-ui service.
2026-02-05 16:26:41 +07:00
supalerk-ar66
85b2b5dcb7
chore: remove a file
2026-02-05 15:55:58 +07:00
supalerk-ar66
27ce0f68b0
chore: Add .gitignore to exclude build outputs, node modules, and local configurations.
2026-02-05 15:54:24 +07:00
supalerk-ar66
bc7341c004
feat: Add PowerShell deployment and shell image loading scripts.
2026-02-05 15:40:35 +07:00
supalerk-ar66
013939a1fe
feat: Add Dockerfile for Frontend-Learner application containerization.
2026-02-05 15:35:52 +07:00
supalerk-ar66
9a6b4e3e0d
feat: Add initial Docker Compose configuration for the learner-ui service.
2026-02-05 15:24:00 +07:00
JakkrapartXD
7465af1cb9
feat: add audit log system with comprehensive action tracking and user activity monitoring
...
Introduce AuditLog model to track system-wide user actions including authentication, course management, file operations, and user account changes. Add AuditAction enum with 17 action types (CREATE, UPDATE, DELETE, LOGIN, LOGOUT, ENROLL, UNENROLL, SUBMIT_QUIZ, APPROVE_COURSE, REJECT_COURSE, UPLOAD_FILE, DELETE_FILE, CHANGE_PASSWORD, RESET_PASSWORD, VERIFY_EMAIL, DEACTIVATE_USER, ACTIVATE_USER). Include fields
2026-02-05 15:07:07 +07:00
supalerk-ar66
f12221c84a
feat: Initialize Nuxt.js project with essential dependencies and scripts.
2026-02-05 14:53:17 +07:00
supalerk-ar66
61e5fe6337
feat: Add Docker Compose configuration for the frontend learner application.
2026-02-05 14:44:48 +07:00
Missez
5e996b708b
feat: Add Docker Compose configuration and a .gitignore file for the frontend management service.
2026-02-05 14:41:40 +07:00
supalerk-ar66
91330c03c2
feat: Add Dockerfile and docker-compose.yml for project containerization
2026-02-05 14:15:19 +07:00
supalerk-ar66
f689894de5
feat: Add Docker Compose configuration for local development environment.
2026-02-05 14:10:33 +07:00
Missez
3c351b2f56
feat: Add Docker Compose configuration for the frontend management service.
2026-02-05 14:05:46 +07:00
Missez
b24988d8bc
feat: Add a multi-stage Dockerfile for building and running the frontend application.
2026-02-05 14:00:57 +07:00
JakkrapartXD
7fcebadb7c
Update Docker Compose configuration for the frontend learner application.
2026-02-05 06:52:21 +00:00
supalerk-ar66
04470cd926
feat: introduce Docker Compose setup and example environment variables for frontend configuration.
2026-02-05 13:50:25 +07:00
Missez
dfcabe306c
feat: initialize Nuxt.js frontend application with Docker setup, global styling, and authentication pages.
2026-02-05 13:43:16 +07:00
supalerk-ar66
cf37d7371c
เผลอทำการแก้ไขไฟล์ตอนนี้แก้กลับแล้ว
2026-02-05 11:06:31 +07:00
supalerk-ar66
ca65dbff4c
feat: Add initial Docker setup and development environment documentation.
2026-02-05 11:01:17 +07:00
supalerk-ar66
42b7399868
feat: implement e-learning classroom page with video player, lesson navigation, progress tracking, and announcements.
2026-02-05 09:56:16 +07:00
Missez
be5b9756be
feat: Implement instructor course management, including student progress tracking and course content views, alongside admin user management.
2026-02-05 09:31:28 +07:00
supalerk-ar66
c9381b9385
feat: Add message and conversation validation to the message feedback endpoint.
2026-02-04 17:05:19 +07:00
supalerk-ar66
a201c4285b
feat: Initialize e-learning frontend with course browsing, landing, and authentication pages, along with core layouts and composables.
2026-02-04 16:57:31 +07:00
JakkrapartXD
a0b93978a7
feat: add presigned URL generation for user avatar URLs in user management service
...
Convert formatUserResponse to async method to support presigned URL generation for avatar_url field. Add getAvatarPresignedUrl helper method to generate 1-hour expiry presigned URLs for user avatars. Update listUsers and getUserById to await formatUserResponse calls.
2026-02-04 16:54:44 +07:00
JakkrapartXD
2728af9efe
feat: increase video auto-completion threshold from 90% to 99% progress
2026-02-04 16:48:05 +07:00
supalerk-ar66
6b1abf630f
feat: add AnnouncementModal component to display course announcements
2026-02-04 16:27:27 +07:00
supalerk-ar66
754f211a08
feat: Implement core course management, enrollment, and classroom learning functionalities with new composables and components.
2026-02-04 16:22:48 +07:00
JakkrapartXD
05755992a7
feat: add published_at field support to announcements with scheduled publishing and student visibility filtering
...
Add published_at field to announcement creation and updates, allowing instructors to schedule announcement publishing. Update student announcement filtering to only show PUBLISHED announcements where published_at <= now. Modify announcement creation to set published_at to provided value or current time for PUBLISHED status. Update announcement updates to handle published_at changes while
2026-02-04 16:15:38 +07:00
supalerk-ar66
67f10c4287
feat: Implement quiz runner functionality with dedicated pages, composable logic, and i18n support.
2026-02-04 14:22:38 +07:00
JakkrapartXD
7e8c8e2532
feat: fix quiz scoring to use Choice model correctness, add YouTube video support to lesson content, and include show_answers_after_completion in quiz data
...
Update quiz attempt detail scoring to determine correctness from Choice.is_correct instead of StudentAnswer.is_correct and calculate earned score based on correctness. Add YouTube video support to getLessonContent endpoint by checking LessonAttachment for YouTube videos (mime_type 'video/youtube') and building YouTube URLs from video IDs. Ad
2026-02-04 14:19:17 +07:00
supalerk-ar66
827b016114
feat: add curriculum sidebar component for course navigation and announcements
2026-02-04 11:56:20 +07:00
JakkrapartXD
ff841c7638
feat: add search and filter capabilities to student and quiz endpoints, implement YouTube video support for lessons
...
Add search and status filter parameters to getEnrolledStudents endpoint to filter students by name/email/username and enrollment status. Add search and isPassed filter parameters to getQuizScores endpoint to filter quiz results by student details and pass status. Remove separate searchStudents endpoint as its functionality is now integrated into getEnrolledStudents. Add setYouTubeVideo endpoint to
2026-02-03 17:23:47 +07:00
Missez
e8a10e5024
feat: student page and create email verification page.
2026-02-03 17:13:30 +07:00
JakkrapartXD
52d86400b3
feat: add prerequisite_lesson_ids field to UpdateLessonBody interface
...
Add prerequisite_lesson_ids optional field to UpdateLessonBody interface to support lesson prerequisite management during lesson updates.
2026-02-03 14:52:35 +07:00
JakkrapartXD
7749a39be7
feat: add enrolled student detail endpoint and reorder student endpoints
...
Add getEnrolledStudentDetail endpoint to retrieve individual student's lesson progress across all course chapters. Move searchStudents endpoint before getEnrolledStudentDetail to prevent route conflicts. Remove correct_choice_id and correct_choice_text from quiz attempt detail answers review. Fix selected_choice_id mapping to use choice_id from student answers.
2026-02-03 14:42:45 +07:00
supalerk-ar66
12e71c48b4
feat: add dashboard page displaying a welcome message and dynamically loaded recommended courses.
2026-02-03 14:17:42 +07:00