Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Epic 2.15 Lesson Plan Generator #118

Open
34 tasks
Ahmedr275 opened this issue Nov 19, 2024 · 1 comment · Fixed by #125
Open
34 tasks

Epic 2.15 Lesson Plan Generator #118

Ahmedr275 opened this issue Nov 19, 2024 · 1 comment · Fixed by #125
Labels
type:new-feature For proposals or implementation of entirely new features or functionalities.

Comments

@Ahmedr275
Copy link
Contributor

Ahmedr275 commented Nov 19, 2024

Develop Lesson Plan Generator Tool

Description

As an educator, I want to generate detailed lesson plans tailored to a specific grade level and topic so that I can effectively deliver structured and engaging lessons aligned with educational standards.

The tool should allow users to:

  • Specify a grade level.
  • Input a topic for the lesson.
  • Provide standards/objectives using text input or file uploads.
  • Optionally include additional comments or customizations for the lesson plan.
  • Accept file uploads (one file per prompt) in supported formats:
    • Upload: CSV, PDF, DOCX, PPT, Plain Text
    • URLs: YouTube Video, Website, Google Sheets

Design

Lesson Plan Generator
Lesson Plan Generator-1
Lesson Plan Generator-2

Acceptance Criteria

  • Feature Requirements:

    • Input Handling:
      • Users can specify a grade level from a dropdown menu (e.g., Pre-K to University).
      • Users can provide a topic for the lesson plan using:
        • Direct text input.
      • Users can input standards/objectives via:
        • Direct text input.
        • Document attachment (one file per prompt) in the following formats:
          • Upload: CSV, PDF, DOCX, PPT, Plain Text
          • URLs: YouTube Video, Website, Google Sheets
      • Users can optionally include additional comments or customizations via:
        • Direct text input.
        • Document attachment (one file per prompt) in the following formats:
          • Upload: CSV, PDF, DOCX, PPT, Plain Text
          • URLs: YouTube Video, Website, Google Sheets
    • Lesson Plan Generation Logic:
      • The tool generates a structured lesson plan based on the provided inputs, ensuring:
        • Content is tailored to the topic and standards/objectives.
        • Content adheres to the specified grade level.
        • Sections include:
          • Objective
          • Assessment
          • Key Points
          • Opening
          • Introduction to New Material
          • Guided Practice
          • Independent Practice
          • Closing
          • Optional extensions, homework, and standards addressed.
    • Output Format:
      • The lesson plan is generated as a downloadable document in DOCX format.
      • The output includes all the required sections and is formatted for readability and usability.
  • Technical Implementation:

    • Create a new folder within app/features/ named lesson_plan_generator.
    • Implement the executor function in core.py with input parameters matching the tool's functionality, including type hints.
    • Use tools.py for abstractions and helper functions to keep core.py clean and maintainable.
    • Include a metadata.json file defining the input parameters for proper validation.
    • Utilize a prompt/ folder for AI-driven generation prompts if necessary.
    • Implement logging and error handling as per platform standards.
  • Unit Tests:

    • Write unit tests for all functions and classes in core.py and tools.py using PyTest.
      • Tests cover:
        • Normal operation with valid inputs.
        • Edge cases and invalid inputs.
        • Error handling and exceptions.
  • Code Quality and Documentation:

    • Ensure code follows best practices for readability and maintainability.
      • Use consistent naming conventions.
      • Include type hints for all functions and methods.
      • Avoid redundant or unnecessary code.
    • Add docstrings to all functions and classes explaining their purpose and usage.
    • Provide comments within the code where necessary to explain complex logic.
  • Integration and Testing:

    • Ensure the feature integrates seamlessly with the existing Marvel AI platform.
      • The executor function is compatible with the router.py layer for request handling.
      • Inputs are validated as per the platform's requirements.
    • Test the entire feature from input handling to output generation.
      • Verify that users can input their data and receive the expected outputs without errors.

Sample Input and Output

Input:

Output:

Generated Lesson Plan .pdf

Resources

  1. Design Mockup
  2. How to Create your Marvel AI Tool
  3. Developing Educator Tools for the Marvel AI Backend: A Step-By-Step Guide (VIDEO)
  4. Marvel AI Document Loader: Multi-File Quiz Generation Explained

Please ensure that each of these criteria is fulfilled for the issue to be considered complete.

@Ahmedr275 Ahmedr275 added the type:new-feature For proposals or implementation of entirely new features or functionalities. label Nov 19, 2024
@Ahmedr275 Ahmedr275 moved this to Todo in Issues board Nov 19, 2024
@AaronSosaRamos AaronSosaRamos linked a pull request Nov 28, 2024 that will close this issue
@AaronSosaRamos
Copy link
Collaborator

#125 needs to be checked against acceptance criteria

@AaronSosaRamos AaronSosaRamos removed their assignment Dec 2, 2024
@Ahmedr275 Ahmedr275 changed the title [Feature] - Develop Lesson Plan Generator Epic 2.15 Lesson Plan Generator Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:new-feature For proposals or implementation of entirely new features or functionalities.
Projects
Status: Todo
Development

Successfully merging a pull request may close this issue.

3 participants