Commit graph

418 commits

Author SHA1 Message Date
JakkrapartXD
b56f604890 feat: introduce Joi validation schemas and integrate them across various controllers for categories, lessons, courses, chapters, announcements, and admin course approvals.
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 26s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 3s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 2s
2026-02-18 15:59:40 +07:00
JakkrapartXD
c5aa195b13 feat: implement course cloning functionality including chapters, lessons, quizzes, and attachments for instructors.
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 24s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 3s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 1s
2026-02-13 17:41:01 +07:00
Missez
5442f1beb6 feat: Introduce core admin and instructor dashboards with dedicated services, pages, and layouts. 2026-02-13 15:26:51 +07:00
JakkrapartXD
af14610442 feat: Add token-based authorization to category deletion and enhance user registration with error handling and audit logging. 2026-02-13 14:54:45 +07:00
JakkrapartXD
45941fbe6c feat: Add error audit logging to instructor course operations and implement status filtering for listing courses. 2026-02-13 14:45:59 +07:00
supalerk-ar66
21273fcaeb feat: Implement the core online learning classroom interface with video player, quiz management, and announcements. 2026-02-13 11:42:10 +07:00
supalerk-ar66
11f9ad57cd feat: Add initial internationalization files for English and Thai languages.
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 14s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 3s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 1s
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 35s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 4s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 1s
2026-02-12 16:56:02 +07:00
supalerk-ar66
1146373ca0 feat: Implement quiz functionality with a new dedicated page and comprehensive internationalization strings.
All checks were successful
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 35s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 4s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 1s
2026-02-12 16:15:09 +07:00
supalerk-ar66
7f5119e5aa feat: Implement core classroom functionality including video player, learning and quiz pages, course detail view, and i18n support. 2026-02-12 16:05:37 +07:00
supalerk-ar66
008f712480 feat: add CurriculumSidebar component for displaying course chapters, lessons, and progress. 2026-02-12 13:10:09 +07:00
supalerk-ar66
a0ca6f7e6b feat: Implement core e-learning platform features including quiz, dashboard, course discovery, and classroom learning with i18n support.
All checks were successful
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 35s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 4s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 1s
2026-02-12 12:01:37 +07:00
supalerk-ar66
d787412036 feat: Add course detail page and comprehensive English and Thai internationalization.
All checks were successful
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 33s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 3s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 1s
2026-02-11 17:52:34 +07:00
supalerk-ar66
883e08c6ed feat: add useCourse composable for comprehensive course management and create a new dashboard page. 2026-02-11 17:28:48 +07:00
supalerk-ar66
a4772931ac feat: add CourseDetailView component for displaying course details, video preview, curriculum, and enrollment options. 2026-02-11 17:23:03 +07:00
supalerk-ar66
23d9e44cc9 feat: Implement course detail viewing and enrollment functionality with a new useCourse composable. 2026-02-11 17:06:33 +07:00
Missez
a65ded02f9 feat: Implement admin user and course management, instructor course and quiz management 2026-02-11 17:03:43 +07:00
JakkrapartXD
8edc3770eb feat: Allow instructors to set rejected courses to draft and explicitly set course status to rejected upon administrative rejection.
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 30s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 3s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 1s
Build and Deploy Frontend Management to Dev Server / Build Frontend Management Docker Image (push) Successful in 18s
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Successful in 3s
Build and Deploy Frontend Management to Dev Server / Notify Deployment Status (push) Successful in 1s
2026-02-11 17:01:17 +07:00
supalerk-ar66
8c40549766 feat: add ProfileEditForm component for managing user personal information and avatar. 2026-02-11 15:35:58 +07:00
supalerk-ar66
d7a91efa7b feat: implement user registration page with form validation, authentication integration, and Quasar notifications. 2026-02-11 15:32:31 +07:00
supalerk-ar66
dd5aacea3a feat: Implement a public course browsing page with search functionality and detailed course cards. 2026-02-11 15:27:22 +07:00
supalerk-ar66
d4f84667dc feat: add new pages for authentication (register, forgot password) and course browsing (discovery, course detail) 2026-02-11 15:11:38 +07:00
supalerk-ar66
acff387a9b feat: Implement user dashboard with recommended courses, a 'My Courses' page for enrolled courses, and a reusable CourseCard component. 2026-02-11 15:05:27 +07:00
JakkrapartXD
840eae4fad refactor: update toggleRecommended endpoint to accept is_recommended as a query parameter and remove the ToggleRecommendedRequest type. 2026-02-11 15:04:10 +07:00
JakkrapartXD
4ca5692e6f fix: update types for quiz attempts in lesson content
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 27s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 4s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 1s
- Add allow_multiple_attempts and latest_attempt to quiz type
- Make quiz fields optional to support conditional return
- Fix AuditAction enum usage in RecommendedCourses service
2026-02-11 15:01:58 +07:00
JakkrapartXD
df750723af feat: add quiz attempt logic to getlessonContent
- Check allow_multiple_attempts setting when returning quiz data
- If allow_multiple_attempts is false AND user has attempted:
  - Return only quiz metadata and latest score
  - Do NOT return questions
- If allow_multiple_attempts is true OR user has not attempted:
  - Return full quiz with questions
  - Include latest_attempt data if exists
- Add latest_attempt field to quiz response with score and attempt info
2026-02-11 15:01:58 +07:00
JakkrapartXD
f7330a7b27 feat: add recommended courses and quiz multiple attempts
- Add is_recommended field to Course model
- Add allow_multiple_attempts field to Quiz model
- Create RecommendedCoursesController for admin management
  - List all approved courses
  - Get course by ID
  - Toggle recommendation status
- Add is_recommended filter to CoursesService.ListCourses
- Add allow_multiple_attempts to quiz update and response types
- Update ChaptersLessonService.updateQuiz to support allow_multiple_attempts
2026-02-11 15:01:58 +07:00
JakkrapartXD
623f797763 feat: add is_recommended to Course and allow_multiple_attempts to Quiz
- Add is_recommended field to Course model (default: false)
- Add allow_multiple_attempts field to Quiz model (default: true)
- Create migration: add_recommended_and_quiz_attempts
2026-02-11 15:01:58 +07:00
supalerk-ar66
0afbd3f08b feat: add CourseDetailView component with video preview, curriculum, enrollment logic, and i18n support 2026-02-11 13:49:08 +07:00
supalerk-ar66
efb50a1ddb feat: implement course discovery page with category filtering sidebar and course detail view. 2026-02-11 12:45:57 +07:00
supalerk-ar66
088bbf4b1b feat: add dynamic course detail page to display course details, chapters, lessons, and handle course enrollment. 2026-02-11 12:40:25 +07:00
supalerk-ar66
7ead98375e feat: Implement core e-learning features including course discovery, classroom components, user profile management, and internationalization for English and Thai. 2026-02-11 11:26:03 +07:00
JakkrapartXD
e7a2ac8b5a feat: convert workflows to tag-based deployment with semantic versioning
- Replace branch triggers with tag triggers for all services
- Backend: backend-dev-v1.0.0
- Learner: learner-dev-v1.0.0
- Management: management-dev-v1.0.0
- Extract version from tags and use for Docker image tagging
- Update compose.yaml to use GITEA_INSTANCE variable
- Add comprehensive deployment guide (DEPLOYMENT.md)
- Support pre-release tags (beta, rc, alpha)

BREAKING CHANGE: Pushing to dev branch no longer triggers deployment.
Must create and push version tags to deploy.
2026-02-11 10:20:35 +07:00
Missez
025084b2bf feat: Add admin user management page with user listing, search, filter, stats, and detail view, along with a Dockerfile for frontend deployment.
Some checks are pending
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Waiting to run
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Blocked by required conditions
Build and Deploy Frontend Learner / Notify Deployment Status (push) Blocked by required conditions
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 18s
Build and Deploy Frontend Management to Dev Server / Build Frontend Management Docker Image (push) Successful in 21s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 3s
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Successful in 3s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 1s
Build and Deploy Frontend Management to Dev Server / Notify Deployment Status (push) Successful in 2s
2026-02-10 17:12:21 +07:00
supalerk-ar66
0c67bb782e feat: Implement user profile page with view/edit functionality, profile updates, password changes, and avatar upload.
All checks were successful
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 34s
Build and Deploy Frontend Management to Dev Server / Build Frontend Management Docker Image (push) Successful in 34s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 4s
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Successful in 3s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 1s
Build and Deploy Frontend Management to Dev Server / Notify Deployment Status (push) Successful in 1s
2026-02-10 16:54:02 +07:00
JakkrapartXD
9c52abcfd9 fix: correct frontend image names, env vars, and port mappings
- Update image names to chamomind/elearning-learner and chamomind/elearning-management
- Change env vars to match workflows: FRONTEND_TAG and MANAGEMENT_TAG
- Fix port mappings: learner 20902:3000, management 20903:3001
- Update container names to match actual running containers
2026-02-10 16:35:58 +07:00
JakkrapartXD
420776ee6d refactor: rename environment variables FRONTEND_MGMT_TAG to MANAGEMENT_TAG and FRONTEND_LEARNER_TAG to FRONTEND_TAG in deployment workflows.
Some checks failed
Build and Deploy Frontend Management to Dev Server / Build Frontend Management Docker Image (push) Has been cancelled
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Has been cancelled
Build and Deploy Frontend Management to Dev Server / Notify Deployment Status (push) Has been cancelled
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Has been cancelled
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Has been cancelled
Build and Deploy Frontend Learner / Notify Deployment Status (push) Has been cancelled
2026-02-10 16:13:36 +07:00
JakkrapartXD
11eabc2319 Chore: Shorten service names passed to deploy.sh in frontend deployment workflows.
All checks were successful
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 15s
Build and Deploy Frontend Management to Dev Server / Build Frontend Management Docker Image (push) Successful in 18s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 3s
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Successful in 2s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 2s
Build and Deploy Frontend Management to Dev Server / Notify Deployment Status (push) Successful in 1s
2026-02-10 16:10:47 +07:00
JakkrapartXD
08ab6f0315 fix: update frontend workflows to use short SHA for image tagging
All checks were successful
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 15s
Build and Deploy Frontend Management to Dev Server / Build Frontend Management Docker Image (push) Successful in 18s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 3s
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Successful in 2s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 1s
Build and Deploy Frontend Management to Dev Server / Notify Deployment Status (push) Successful in 1s
- Add short_sha generation and output to build jobs
- Update deploy scripts to use short SHA instead of full SHA
- Change env var names to FRONTEND_LEARNER_TAG and FRONTEND_MGMT_TAG
- Matches backend workflow implementation for consistency
2026-02-10 16:03:22 +07:00
JakkrapartXD
d63c986c6f chore: Update Prisma seed script with new data.
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 29s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 4s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 1s
2026-02-10 15:58:53 +07:00
Missez
941b195813 feat: Introduce admin pages for pending course review and course details, and instructor pages for course management and lesson quizzes.
All checks were successful
Build and Deploy Frontend Management to Dev Server / Build Frontend Management Docker Image (push) Successful in 33s
Build and Deploy Frontend Management to Dev Server / Deploy E-learning Frontend Management to Dev Server (push) Successful in 2s
Build and Deploy Frontend Management to Dev Server / Notify Deployment Status (push) Successful in 1s
2026-02-10 15:40:03 +07:00
JakkrapartXD
ff91df2bd6 build: add openssl package to Dockerfile dependencies
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 44s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 12s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 1s
2026-02-10 15:33:05 +07:00
JakkrapartXD
c1254520b4 refactor: Optimize Docker build process, switch to @node-rs/bcrypt, and streamline compose.yaml by removing external services.
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 45s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 12s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 1s
2026-02-10 15:27:13 +07:00
supalerk-ar66
18660fa364 up
All checks were successful
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 48s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 3s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 1s
2026-02-10 15:24:20 +07:00
supalerk-ar66
c1f1cf5e57 feat: Add LandingHeader component with scroll-based styling, navigation links, and authentication-dependent action buttons.
All checks were successful
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 36s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 2s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 1s
2026-02-10 15:13:35 +07:00
JakkrapartXD
d2e78dcfbb feat: Implement local backend development setup with Docker Compose, introduce .dockerignore, and remove dev dependency pruning from the Dockerfile.
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 32s
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 34s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 3s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 2s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 2s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 2s
2026-02-10 14:26:09 +07:00
JakkrapartXD
0691ca40cd feat: Implement short SHA for backend image tagging and deployment, and refine image tag resolution for pull requests.
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 20s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 3s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 2s
2026-02-10 14:00:50 +07:00
JakkrapartXD
3322801803 build: include image tag in Docker metadata action image name 2026-02-10 14:00:50 +07:00
supalerk-ar66
3e8a64e5d1 feat: implement comprehensive quiz interface with start, taking, result, and review screens, including state management, navigation, and submission logic.
All checks were successful
Build and Deploy Frontend Learner / Build Frontend Learner Docker Image (push) Successful in 34s
Build and Deploy Frontend Learner / Deploy E-learning Frontend Learner to Dev Server (push) Successful in 3s
Build and Deploy Frontend Learner / Notify Deployment Status (push) Successful in 1s
2026-02-10 13:45:28 +07:00
JakkrapartXD
0004b03760 ci: Update backend image name to chamomind/elearning-backend in the deploy workflow.
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 15s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 2s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 2s
2026-02-10 13:28:43 +07:00
JakkrapartXD
c134c9f507 fix: update compose.yaml to match workflow image naming
- Backend: 192.168.1.60/chamomind/elearning-backend
- Frontend Learner: 192.168.1.60/elearning-frontend-learner
- Frontend Management: 192.168.1.60/elearning-frontend-management
- Remove :5000 port from registry URL
- Add environment variable support for dynamic tags (BACKEND_TAG, etc.)
2026-02-10 13:28:08 +07:00