Skip to content

feat: automated notes generation pipeline using Claude AI - #1152

Open
parijain1705 wants to merge 1 commit into
vicharanashala:mainfrom
parijain1705:feature/notes-generation
Open

parijain1705 wants to merge 1 commit into
vicharanashala:mainfrom
parijain1705:feature/notes-generation

Conversation

@parijain1705

Copy link
Copy Markdown

feat: Automated Structured Notes Generation from AI Transcripts

Overview

This PR introduces an end-to-end notes generation pipeline that automatically creates structured study notes from AI-generated course transcripts using Anthropic Claude.

The generated notes are persisted in MongoDB and become available immediately after the content generation pipeline finishes, requiring no additional user action.


What's Included

  • Added a dedicated notes backend module
  • Integrated Anthropic Claude to generate structured study notes from transcripts
  • Persisted generated notes in MongoDB using courseVersionId and moduleId
  • Automatically triggers notes generation after the AI content upload pipeline completes
  • Exposed APIs for generating and retrieving notes

API Endpoints

Method Endpoint Description
POST /notes/generate Generate notes for a module
GET /notes/versions/:versionId/modules/:moduleId Retrieve notes for a specific module
GET /notes/versions/:versionId Retrieve notes for all modules in a course version

Workflow

  1. uploadContent() completes successfully in GenAIService
  2. The stored transcript is retrieved
  3. A fire-and-forget asynchronous task invokes Anthropic Claude
  4. Claude generates structured notes containing:
    • Title
    • Summary
    • Sections
    • Key Points
  5. Generated notes are stored in MongoDB for future retrieval

Benefits

  • Eliminates manual note creation
  • Provides consistent, well-structured study material
  • Runs asynchronously without impacting the content upload flow
  • Enables quick retrieval of notes through dedicated APIs

- Add notes module (repository, service, controller, container, index)
- Inject NotesService into GenAIService; trigger fire-and-forget notes
  generation after uploadContent completes using the stored transcript
- Add getModuleById helper to ItemService for module name resolution
- Fix Inversify container bind syntax in notes/container.ts

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant