Skip to content

Comments

68 genai enhance course generation api confirmation chat and crawling#69

Merged
mahdibayouli merged 14 commits intomainfrom
68-genai-enhance-course-generation-api-confirmation-chat-and-crawling
Jul 12, 2025
Merged

68 genai enhance course generation api confirmation chat and crawling#69
mahdibayouli merged 14 commits intomainfrom
68-genai-enhance-course-generation-api-confirmation-chat-and-crawling

Conversation

@mahdibayouli
Copy link
Collaborator

Features

  • GenAI Course Generation

    • generateCourseFromGenAi() fetches user skills, sends prompt to GenAI service, returns a generated CourseRequest.
    • confirmCourseGeneration() persists the generated course and auto-enrolls the user.
  • Prompt Completion via GenAI

    • generateResponseFromGenAi(prompt) sends prompt to GenAI service and returns a generated response.
  • Web Crawling & Embedding

    • crawlWebForCourseContent(url) hits GenAI /embed endpoint and returns EmbedResult.

DTOs & Utilities

  • Added PromptResponse and EmbedResult DTOs in dto.response.utils.

Enhancements

  • CourseService interface updated with:

    • generateCourseFromGenAi(...)
    • confirmCourseGeneration(...)
    • generateResponseFromGenAi(...)
    • crawlWebForCourseContent(...)
  • Extended advancedSearch(...) with isPublished and isPublic filters.

Commit Summary

  • feat(course): add GenAI-based course generation and confirmation
  • feat(course): add support for GenAI prompt response generation
  • feat(course): implement web crawling and embedding via GenAI
  • chore: cleanup imports and organize code structure

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces Generative AI (GenAI) capabilities to course management, enhances search filters, and reorganizes API contracts.

  • Adds GenAI-based course generation preview and confirmation workflows
  • Implements prompt completion and web crawling endpoints returning structured DTOs
  • Updates CourseService API and advanced search to include isPublished/isPublic filters

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
CourseServiceImpl.java Implements GenAI workflows, updates getPublishedCourses, adds cache for previews
CourseService.java Extends interface with new GenAI and crawling methods, updates signatures and Javadoc
PromptResponse.java New DTO for GenAI prompt completions
EmbedResult.java New DTO for web crawling embedding results
CourseController.java Exposes GenAI generation and confirmation REST endpoints
Comments suppressed due to low confidence (5)

server/skillforge-course/src/main/java/com/gitittogether/skillForge/server/course/service/courses/CourseService.java:248

  • The Javadoc states a boolean return but the method signature returns EmbedResult. Update the @return tag to reflect the correct return type.
    * @return boolean indicating whether the crawling was successful.

server/skillforge-course/src/main/java/com/gitittogether/skillForge/server/course/dto/response/utils/PromptResponse.java:20

  • Field generated_text uses snake_case, which is inconsistent with Java naming conventions. Consider renaming to generatedText and using @JsonProperty("generated_text") if needed.
   private String generated_text;

server/skillforge-course/src/main/java/com/gitittogether/skillForge/server/course/service/courses/CourseServiceImpl.java:537

  • [nitpick] Log message references the old method name generateFromGenAi; update it to generateCourseFromGenAi for consistency.
       log.error("❌ generateFromGenAi failed due to duplicate course title: {}", e.getMessage());

server/skillforge-course/src/main/java/com/gitittogether/skillForge/server/course/service/courses/CourseServiceImpl.java:454

  • New GenAI methods (generateCourseFromGenAi & confirmCourseGeneration) lack accompanying unit tests. Consider adding coverage for happy path and failure scenarios.
    public CourseRequest generateCourseFromGenAi(LearningPathRequest req, String userId, String authHeader) {

server/skillforge-course/src/main/java/com/gitittogether/skillForge/server/course/service/courses/CourseServiceImpl.java:474

  • The restTemplate instance is used here but not injected or declared in this class. Ensure a RestTemplate bean is autowired or provided via constructor.
       ResponseEntity<String> profileResp = restTemplate.exchange(profileUrl, HttpMethod.GET, entity, String.class);

mahdibayouli and others added 5 commits July 12, 2025 17:28
…Forge/server/course/service/courses/CourseService.java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…Forge/server/course/service/courses/CourseServiceImpl.java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Collaborator

@GravityDarkLab GravityDarkLab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just what was missing - this PR was already discussed in person (peer-programming) - so ready to merge

@mahdibayouli mahdibayouli merged commit c7a1b47 into main Jul 12, 2025
8 checks passed
@GravityDarkLab GravityDarkLab deleted the 68-genai-enhance-course-generation-api-confirmation-chat-and-crawling branch July 17, 2025 07:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request feature genai

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[GenAI] Enhance Course Generation API: Confirmation, Chat, and Crawling

2 participants