Skip to content

docs : update - #32

Closed
teamssUTXO wants to merge 108 commits into
CodeStar-Project:mainfrom
teamssUTXO:docs/update
Closed

docs : update#32
teamssUTXO wants to merge 108 commits into
CodeStar-Project:mainfrom
teamssUTXO:docs/update

Conversation

@teamssUTXO

Copy link
Copy Markdown
Member

No description provided.

teamssUTXO and others added 30 commits May 8, 2026 19:44
…e-page-non-auth (branch name non-related to)

backend features : auth + groups + invitations
…t-login

feat : add front connected to backend
…cker-infra

chore : update docker infrastructure
Adds a /mine courses endpoint (CourseController#getMyCourses) restricted to TEACHER/ADMIN/SUPER_ADMIN that returns courses authored by the authenticated user. Introduces CourseService#getCoursesAuthoredBy to fetch author-specific summaries. Implements a native upsert query in IEnrollmentRepository#upsertProgress to atomically insert or update enrollment progress, last_block_id, completed_at and last_activity_at (uses GREATEST/COALESCE and conditional completed_at). Refactors EnrollmentService#updateProgress to validate lastBlockId, enforce non-decreasing progress, use RoundingMode for scale, call the repository upsert, and return the persisted row instead of performing timestamp/complete logic in Java.
…ourses

add course and course block management with REST AP
teamssUTXO and others added 24 commits June 13, 2026 20:32
Follow-up to the AI course generator review. Groups several
independent hardening changes:

- Externalize the system prompt to resources/prompts/course-system.txt,
  loaded once at boot; fail fast if missing. Keeps the 100+ line prompt
  out of the service and editable without recompiling.
- Replace forgeable XML tags in the user prompt with a per-request
  random fence around untrusted topic/keyIdeas, closing a prompt-
  injection vector. level/language stay outside (already validated).
- Fall back to the requested level when the model returns a level that
  is neither a known alias nor a canonical value, so an invalid level
  can never reach the client.
- Make the HTTP connect timeout configurable instead of hardcoded.
- Bound temperature (0.0–2.0) in AiProperties.
- Align AI_TIMEOUT_SECONDS default to 90 across properties/.env/compose.
- Point ImportCourseRequestDto back at GenerateCourseResponseDto so the
  hand-mirrored coupling is documented from both sides.
…enerator-front

Feat/ai course generator front
…-logs

feat(log) : add nect.js server-side logger
@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 260 files, which is 110 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 71c8ec6d-971a-4b81-a4f7-efc400954f5e

📥 Commits

Reviewing files that changed from the base of the PR and between 0718397 and 672e30d.

⛔ Files ignored due to path filters (16)
  • apps/backend/target/classes/com/codestar/backend/BackendApplication.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/config/SecurityConfig.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/controller/AuthController.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/controller/CourseController.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/ApiResponseDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/LoginRequestDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/LoginResponseDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/course/CourseBlockDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/course/CourseBlockType.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/course/CourseDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/dto/course/CoursePageDto.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/model/User.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/repository/IUserRepository.class is excluded by !**/*.class
  • apps/backend/target/classes/com/codestar/backend/utils/JwtUtils.class is excluded by !**/*.class
  • apps/backend/target/test-classes/com/codestar/backend/BackendApplicationTests.class is excluded by !**/*.class
  • apps/frontend/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (260)
  • .env.example
  • .gitignore
  • .vscode/settings.json
  • README.md
  • apps/backend/.gitignore
  • apps/backend/Dockerfile
  • apps/backend/pom.xml
  • apps/backend/src/main/java/com/codestar/backend/BackendApplication.java
  • apps/backend/src/main/java/com/codestar/backend/config/AiProperties.java
  • apps/backend/src/main/java/com/codestar/backend/config/BootstrapProperties.java
  • apps/backend/src/main/java/com/codestar/backend/config/CorsProperties.java
  • apps/backend/src/main/java/com/codestar/backend/config/InstanceProperties.java
  • apps/backend/src/main/java/com/codestar/backend/config/JwtProperties.java
  • apps/backend/src/main/java/com/codestar/backend/config/MediaProperties.java
  • apps/backend/src/main/java/com/codestar/backend/config/OpenApiConfig.java
  • apps/backend/src/main/java/com/codestar/backend/config/RequestContextFilter.java
  • apps/backend/src/main/java/com/codestar/backend/config/SecurityConfig.java
  • apps/backend/src/main/java/com/codestar/backend/config/SignupProperties.java
  • apps/backend/src/main/java/com/codestar/backend/config/SuperAdminBootstrap.java
  • apps/backend/src/main/java/com/codestar/backend/controller/AiCourseController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/AuthController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/BookmarkController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/CourseController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/EnrollmentController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/GroupController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/InstanceController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/InvitationController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/MediaController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/SettingsController.java
  • apps/backend/src/main/java/com/codestar/backend/controller/UserController.java
  • apps/backend/src/main/java/com/codestar/backend/dto/LoginRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/ai/GenerateCourseRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/auth/LoginRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/auth/LoginResponseDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/auth/MeResponseDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/auth/RegisterRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/bookmark/BookmarkDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/bookmark/BookmarkEnrichedDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/bookmark/CreateBookmarkRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/CourseBlockDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/CourseBlockType.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/CourseDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/CourseExportDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/CoursePageDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/CoursePayloadDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/CourseSummaryDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/CreateCourseRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/SavePagesRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/UpdateCourseRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/course/UpdateCourseStatusRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/enrollment/EnrollmentDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/enrollment/UpdateProgressRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/group/CreateGroupRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/group/CreateInvitationRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/group/GroupMemberDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/group/GroupResponseDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/group/GroupSummaryDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/group/InvitationResponseDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/group/JoinGroupRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/group/UpdateCurriculumRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/group/UpdateGroupMemberRoleRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/group/UpdateGroupRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/instance/InstanceBrandingDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/instance/UpdateBrandingRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/media/MediaUploadDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/settings/SettingsDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/settings/UpdateSettingsRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/user/UpdateUserRoleRequestDto.java
  • apps/backend/src/main/java/com/codestar/backend/dto/user/UserSummaryDto.java
  • apps/backend/src/main/java/com/codestar/backend/exception/ApiException.java
  • apps/backend/src/main/java/com/codestar/backend/exception/GlobalExceptionHandler.java
  • apps/backend/src/main/java/com/codestar/backend/model/AppSetting.java
  • apps/backend/src/main/java/com/codestar/backend/model/Bookmark.java
  • apps/backend/src/main/java/com/codestar/backend/model/Course.java
  • apps/backend/src/main/java/com/codestar/backend/model/CourseBlock.java
  • apps/backend/src/main/java/com/codestar/backend/model/CoursePage.java
  • apps/backend/src/main/java/com/codestar/backend/model/CourseStatus.java
  • apps/backend/src/main/java/com/codestar/backend/model/Enrollment.java
  • apps/backend/src/main/java/com/codestar/backend/model/EnrollmentId.java
  • apps/backend/src/main/java/com/codestar/backend/model/Group.java
  • apps/backend/src/main/java/com/codestar/backend/model/GroupCurriculum.java
  • apps/backend/src/main/java/com/codestar/backend/model/GroupCurriculumId.java
  • apps/backend/src/main/java/com/codestar/backend/model/GroupMemberRole.java
  • apps/backend/src/main/java/com/codestar/backend/model/GroupMembership.java
  • apps/backend/src/main/java/com/codestar/backend/model/GroupMembershipId.java
  • apps/backend/src/main/java/com/codestar/backend/model/InvitationCode.java
  • apps/backend/src/main/java/com/codestar/backend/model/MediaAsset.java
  • apps/backend/src/main/java/com/codestar/backend/model/Role.java
  • apps/backend/src/main/java/com/codestar/backend/model/User.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IAppSettingRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IBookmarkRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/ICourseBlockRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/ICoursePageRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/ICourseRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IEnrollmentRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IGroupCurriculumRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IGroupMembershipRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IGroupRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IInvitationCodeRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IMediaAssetRepository.java
  • apps/backend/src/main/java/com/codestar/backend/repository/IUserRepository.java
  • apps/backend/src/main/java/com/codestar/backend/security/ApiSecurityExceptionHandler.java
  • apps/backend/src/main/java/com/codestar/backend/security/AuthenticatedUser.java
  • apps/backend/src/main/java/com/codestar/backend/security/CoursePermissionService.java
  • apps/backend/src/main/java/com/codestar/backend/security/GroupPermissionService.java
  • apps/backend/src/main/java/com/codestar/backend/security/InvitationPermissionService.java
  • apps/backend/src/main/java/com/codestar/backend/security/JwtAuthenticationFilter.java
  • apps/backend/src/main/java/com/codestar/backend/security/UserDetailsServiceImpl.java
  • apps/backend/src/main/java/com/codestar/backend/service/AiCourseService.java
  • apps/backend/src/main/java/com/codestar/backend/service/AiRateLimiter.java
  • apps/backend/src/main/java/com/codestar/backend/service/AuditLogger.java
  • apps/backend/src/main/java/com/codestar/backend/service/BlockPayloadValidator.java
  • apps/backend/src/main/java/com/codestar/backend/service/BookmarkService.java
  • apps/backend/src/main/java/com/codestar/backend/service/CourseService.java
  • apps/backend/src/main/java/com/codestar/backend/service/CourseSpecifications.java
  • apps/backend/src/main/java/com/codestar/backend/service/EnrollmentService.java
  • apps/backend/src/main/java/com/codestar/backend/service/GroupCurriculumService.java
  • apps/backend/src/main/java/com/codestar/backend/service/GroupMemberService.java
  • apps/backend/src/main/java/com/codestar/backend/service/GroupService.java
  • apps/backend/src/main/java/com/codestar/backend/service/InstanceBrandingService.java
  • apps/backend/src/main/java/com/codestar/backend/service/InvitationCodeGenerator.java
  • apps/backend/src/main/java/com/codestar/backend/service/InvitationService.java
  • apps/backend/src/main/java/com/codestar/backend/service/MediaStorageService.java
  • apps/backend/src/main/java/com/codestar/backend/service/SettingsService.java
  • apps/backend/src/main/java/com/codestar/backend/service/UploadRateLimiter.java
  • apps/backend/src/main/java/com/codestar/backend/service/UserService.java
  • apps/backend/src/main/java/com/codestar/backend/utils/Emails.java
  • apps/backend/src/main/java/com/codestar/backend/utils/JwtUtils.java
  • apps/backend/src/main/resources/application-prod.properties
  • apps/backend/src/main/resources/application.properties
  • apps/backend/src/main/resources/db/migration/V001.sql
  • apps/backend/src/main/resources/instance.json
  • apps/backend/src/main/resources/prompts/course-system.txt
  • apps/backend/target/classes/application-dev.properties
  • apps/backend/target/classes/application.properties
  • apps/backend/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  • apps/backend/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
  • apps/backend/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
  • apps/frontend/.env.example
  • apps/frontend/.gitignore
  • apps/frontend/CLAUDE.md
  • apps/frontend/Dockerfile
  • apps/frontend/app/actions/ai.ts
  • apps/frontend/app/actions/auth.ts
  • apps/frontend/app/actions/bookmarks.ts
  • apps/frontend/app/actions/courses.ts
  • apps/frontend/app/actions/enrollments.ts
  • apps/frontend/app/actions/groups.ts
  • apps/frontend/app/actions/instance.ts
  • apps/frontend/app/actions/locale.ts
  • apps/frontend/app/actions/media.ts
  • apps/frontend/app/actions/settings.ts
  • apps/frontend/app/actions/users.ts
  • apps/frontend/app/admin/ai/page.tsx
  • apps/frontend/app/admin/courses/[id]/blocks/page.tsx
  • apps/frontend/app/admin/courses/[id]/page.tsx
  • apps/frontend/app/admin/courses/new/page.tsx
  • apps/frontend/app/admin/courses/page.tsx
  • apps/frontend/app/admin/groups/[id]/curriculum/page.tsx
  • apps/frontend/app/admin/groups/[id]/members/page.tsx
  • apps/frontend/app/admin/page.tsx
  • apps/frontend/app/admin/settings/page.tsx
  • apps/frontend/app/admin/users/page.tsx
  • apps/frontend/app/api/v1/media/[id]/route.ts
  • apps/frontend/app/bookmarks/page.tsx
  • apps/frontend/app/courses/[slug]/page.tsx
  • apps/frontend/app/courses/[slug]/read/page.tsx
  • apps/frontend/app/courses/page.tsx
  • apps/frontend/app/error.tsx
  • apps/frontend/app/global-error.tsx
  • apps/frontend/app/globals.css
  • apps/frontend/app/home/page.tsx
  • apps/frontend/app/layout.tsx
  • apps/frontend/app/login/login-shell.tsx
  • apps/frontend/app/login/page.tsx
  • apps/frontend/app/me/dash/page.tsx
  • apps/frontend/app/my-courses/page.tsx
  • apps/frontend/app/not-found.tsx
  • apps/frontend/app/page.tsx
  • apps/frontend/app/robots.ts
  • apps/frontend/app/sitemap.ts
  • apps/frontend/components.json
  • apps/frontend/components/admin/admin-shell.tsx
  • apps/frontend/components/admin/ai-generator-form.tsx
  • apps/frontend/components/admin/course-editor.tsx
  • apps/frontend/components/admin/course-form.tsx
  • apps/frontend/components/admin/course-row-actions.tsx
  • apps/frontend/components/admin/curriculum-picker.tsx
  • apps/frontend/components/admin/group-card-actions.tsx
  • apps/frontend/components/admin/members-table.tsx
  • apps/frontend/components/admin/role-guard.tsx
  • apps/frontend/components/admin/settings-form.tsx
  • apps/frontend/components/admin/users-table.tsx
  • apps/frontend/components/auth-provider.tsx
  • apps/frontend/components/block-kinds/callout.tsx
  • apps/frontend/components/block-kinds/code.tsx
  • apps/frontend/components/block-kinds/heading.tsx
  • apps/frontend/components/block-kinds/image-uploader.tsx
  • apps/frontend/components/block-kinds/image.tsx
  • apps/frontend/components/block-kinds/index.ts
  • apps/frontend/components/block-kinds/palette.ts
  • apps/frontend/components/block-kinds/paragraph.tsx
  • apps/frontend/components/block-kinds/quiz-player.tsx
  • apps/frontend/components/block-kinds/quiz.tsx
  • apps/frontend/components/block-kinds/quote.tsx
  • apps/frontend/components/block-kinds/sandbox.tsx
  • apps/frontend/components/block-kinds/table.tsx
  • apps/frontend/components/block-kinds/tones.ts
  • apps/frontend/components/block-kinds/types.ts
  • apps/frontend/components/block-kinds/utils.ts
  • apps/frontend/components/brand-mark.tsx
  • apps/frontend/components/branding-provider.tsx
  • apps/frontend/components/course/block-renderer.tsx
  • apps/frontend/components/course/block-toc.tsx
  • apps/frontend/components/course/bookmark-button.tsx
  • apps/frontend/components/course/bookmark-row.tsx
  • apps/frontend/components/course/catalog-grid.tsx
  • apps/frontend/components/course/course-card.tsx
  • apps/frontend/components/course/course-meta.tsx
  • apps/frontend/components/course/empty-state.tsx
  • apps/frontend/components/course/mobile-toc.tsx
  • apps/frontend/components/course/page-header.tsx
  • apps/frontend/components/course/progress-bar.tsx
  • apps/frontend/components/course/stat-card.tsx
  • apps/frontend/components/course/student-shell.tsx
  • apps/frontend/components/locale-switcher.tsx
  • apps/frontend/components/site-footer.tsx
  • apps/frontend/components/top-nav.tsx
  • apps/frontend/components/ui/glass-button.tsx
  • apps/frontend/components/ui/glass-card.tsx
  • apps/frontend/components/ui/glass-chip.tsx
  • apps/frontend/components/ui/glass-input.tsx
  • apps/frontend/components/ui/glass-nav.tsx
  • apps/frontend/components/ui/glass.ts
  • apps/frontend/components/ui/icons.tsx
  • apps/frontend/components/ui/mesh-background.tsx
  • apps/frontend/components/user-menu.tsx
  • apps/frontend/global.d.ts
  • apps/frontend/i18n/request.ts
  • apps/frontend/i18n/routing.ts
  • apps/frontend/instrumentation.ts
  • apps/frontend/lib/api.ts
  • apps/frontend/lib/format.ts
  • apps/frontend/lib/instance.ts
  • apps/frontend/lib/logger.ts
  • apps/frontend/lib/roles.ts
  • apps/frontend/lib/safe-redirect.ts
  • apps/frontend/lib/site.ts
  • apps/frontend/lib/types.ts
  • apps/frontend/lib/utils.ts
  • apps/frontend/messages/en.json
  • apps/frontend/messages/fr.json
  • apps/frontend/next.config.ts
  • apps/frontend/package.json
  • apps/frontend/proxy.ts
  • config/.gitkeep
  • docker-compose.dev.yml
  • docker-compose.yml
  • docker/postgres/init.sql
  • docs/hand-off.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@teamssUTXO teamssUTXO closed this Jun 19, 2026
@github-project-automation github-project-automation Bot moved this from Backlog to Done in codestar roadmap Jun 19, 2026
@teamssUTXO
teamssUTXO deleted the docs/update branch June 19, 2026 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants