Skip to content

Commit

Permalink
docs: update Stages model and add Options model
Browse files Browse the repository at this point in the history
  • Loading branch information
coskun-kilinc committed Apr 17, 2024
1 parent a7a0198 commit 43066a8
Showing 1 changed file with 124 additions and 104 deletions.
228 changes: 124 additions & 104 deletions docs/OnTrack/Feedback Enhancement/tutor feedback enhancement feature.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,10 @@

### Models and Definitions

- **TaskDefinition**: This is the core model around which task stages and their corresponding feedback are structured. It contains the stages that include criteria for task completion.
- **Stage**: Represents a specific criterion or set of criteria that students must fulfill to complete a task. These are detailed in the `TaskDefinition` and include:
- **TaskDefinition**: This is the core model around which task stages and their corresponding
feedback are structured. It contains the stages that include criteria for task completion.
- **Stage**: Represents a specific criterion or set of criteria that students must fulfil to
complete a task. These are detailed in the `TaskDefinition` and include:
- **id**: Unique identifier for the stage.
- **taskDefinitionId**: Identifier linking the stage to its task definition.
- **title**: Descriptive title of the stage.
Expand Down Expand Up @@ -71,30 +73,33 @@ const stage: Stage = {

## Key Components and Files

- **task-definition-stages.component.ts**: Manages the logic for adding, editing, and removing stages within a task definition.
- **task-definition-stages.component.html**: Provides the HTML structure for viewing and interacting with stages in the UI.
- **task-definition-stages.component.scss**: Contains style definitions specific to the stage components in the UI.
- **task-definition-stages.component.ts**: Manages the logic for adding, editing, and removing
stages within a task definition.
- **task-definition-stages.component.html**: Provides the HTML structure for viewing and interacting
with stages in the UI.
- **task-definition-stages.component.scss**: Contains style definitions specific to the stage
components in the UI.

## Related Files/Components

- `doubtfire-web/src/app/`
- `api/`
- `models/`
- `task-comment/`
- `task-comment.ts`
- `discussion-comment.ts`
- `/services/`
- `task-definition.service.ts`
- `task-definition.ts`
- `units/states/edit/directives/unit-tasks-editor/task-definition-editor/`
- `task-definition-editor.component.html`
- `task-definition-editor.component.scss`
- `task-definition-editor.component.ts`
- `doubtfire-angular.module.ts`
- `api/`
- `models/`
- `task-comment/`
- `task-comment.ts`
- `discussion-comment.ts`
- `/services/`
- `task-definition.service.ts`
- `task-definition.ts`
- `units/states/edit/directives/unit-tasks-editor/task-definition-editor/`
- `task-definition-editor.component.html`
- `task-definition-editor.component.scss`
- `task-definition-editor.component.ts`
- `doubtfire-angular.module.ts`

### `task-definition.service.ts`

```ts
```typescript
{
keys: 'stages',
toJsonFn: (taskDef: TaskDefinition, key: string) => {
Expand Down Expand Up @@ -136,144 +141,159 @@ const stage: Stage = {

The development of this feature is divided into several key tasks:

- **UI Design and Implementation**: Designing and implementing user interfaces for adding, editing, and viewing stages.
- **Integration**: Integrating the stages model with existing task and comment models to enhance feedback mechanisms.
- **Migration**: One-time data migration script to update all existing task definitions to include an empty `stages` array.
- **Documentation and Guides**: Creating comprehensive documentation and user guides for both unit chairs and tutors.
- **UI Design and Implementation**: Designing and implementing user interfaces for adding, editing,
and viewing stages.
- **Integration**: Integrating the stages model with existing task and comment models to enhance
feedback mechanisms.
- **Migration**: One-time data migration script to update all existing task definitions to include
an empty `stages` array.
- **Documentation and Guides**: Creating comprehensive documentation and user guides for both unit
chairs and tutors.

## Documentation and User Guides

Documentation is critical for ensuring the effective use of the Tutor Feedback Feature. This includes:
Documentation is critical for ensuring the effective use of the Tutor Feedback Feature. This
includes:

- **Integration Guides**: Detailed explanations of how the Tutor Feedback Feature integrates with existing OnTrack components.
- **User Guides**: Step-by-step instructions for unit chairs and tutors on how to use the feature, including how to add, edit, and remove stages, as well as how to provide feedback using the system.
- **Integration Guides**: Detailed explanations of how the Tutor Feedback Feature integrates with
existing OnTrack components.
- **User Guides**: Step-by-step instructions for unit chairs and tutors on how to use the feature,
including how to add, edit, and remove stages, as well as how to provide feedback using the
system.

## Future Enhancements

Potential future enhancements include:

- **Automated Feedback Mechanisms**: Developing algorithms to suggest feedback based on common patterns in student submissions.
- **Analytics and Reporting**: Enhancing the feature to provide analytics on feedback effectiveness and student progress.
- **Automated Feedback Mechanisms**: Developing algorithms to suggest feedback based on common
patterns in student submissions.
- **Analytics and Reporting**: Enhancing the feature to provide analytics on feedback effectiveness
and student progress.

This documentation serves as a foundational guide for developing and using the Tutor Feedback Feature within the OnTrack system, ensuring that all participants have the tools they need to
This documentation serves as a foundational guide for developing and using the Tutor Feedback
Feature within the OnTrack system, ensuring that all participants have the tools they need to

# Feature Implementation Tasks

- [x] **Create model for enhanced feedback in front end**
- *Task Description*: Implement the front-end model for the `Stage`
component within the task-definition module. This model should include
the structure for storing preamble text and criteria with associated
feedback options.

- _Task Description_: Implement the front-end model for the `Stage` component within the
task-definition module. This model should include the structure for storing preamble text and
criteria with associated feedback options.

- [x] **Create Documentation for `Stage` Component**
- *Task Description*: Create comprehensive developer documentation for
the `Stage` component, detailing its model structure, integration
points, and examples of usage within the OnTrack system.

- _Task Description_: Create comprehensive developer documentation for the `Stage` component,
detailing its model structure, integration points, and examples of usage within the OnTrack
system.

- [ ] **Design UI Adjustments for Unit Chair Admin Page**
- *Task Description*: Design modifications for the Unit Chair admin page
to accommodate the inclusion of `Stage` components in tasks. The design
should focus on UI elements that enable the addition, editing, and
removal of stages within task definitions. Create wireframes and mockups
for proposed UI adjustments.

- _Task Description_: Design modifications for the Unit Chair admin page to accommodate the
inclusion of `Stage` components in tasks. The design should focus on UI elements that enable the
addition, editing, and removal of stages within task definitions. Create wireframes and mockups
for proposed UI adjustments.

- [ ] **Implement UI Adjustments for Unit Chair Admin Page**
- *Task Description*: Implement the designed UI adjustments on the Unit
Chair admin page, enabling the inclusion of `Stage` components in tasks.
This includes developing functionality for adding, editing, and removing
stages as part of task definitions, based on the approved designs.

- _Task Description_: Implement the designed UI adjustments on the Unit Chair admin page, enabling
the inclusion of `Stage` components in tasks. This includes developing functionality for adding,
editing, and removing stages as part of task definitions, based on the approved designs.

- [x] **Adjust Task Def model to include feedback enhancement.**
- *Task Description*: Update the front-end Task Definition model to
incorporate a `Stage` property, ensuring it can store and manage the
enhanced feedback stages as part of task configurations.

- _Task Description_: Update the front-end Task Definition model to incorporate a `Stage`
property, ensuring it can store and manage the enhanced feedback stages as part of task
configurations.

- [ ] **Integrate `Stage` into existing comment model**
- *Task Description*: Extend the existing comment model to include
`Stage` information, allowing comments to be associated with specific
stages and criteria for more detailed feedback.

- _Task Description_: Extend the existing comment model to include `Stage` information, allowing
comments to be associated with specific stages and criteria for more detailed feedback.

- [ ] **Design UI for Viewing `Stage`**
- *Task Description*: Design the user interface for displaying `Stage`
details to tutors, ensuring clarity in presenting the preamble,
criteria, and any associated feedback. This task includes creating
wireframes and interactive prototypes for review.

- _Task Description_: Design the user interface for displaying `Stage` details to tutors, ensuring
clarity in presenting the preamble, criteria, and any associated feedback. This task includes
creating wireframes and interactive prototypes for review.

- [ ] **Implement UI for Viewing `Stage`**
- *Task Description*: Based on the approved designs, implement the UI
for viewing `Stage` details within the OnTrack system. Ensure the
interface is intuitive and seamlessly integrates with existing UI
components.

- _Task Description_: Based on the approved designs, implement the UI for viewing `Stage` details
within the OnTrack system. Ensure the interface is intuitive and seamlessly integrates with
existing UI components.

- [ ] **Design UI for Inserting `Stage` Content**
- *Task Description*: Create design prototypes for the UI components
that allow tutors to insert `Stage` content into the comments section.
Focus on user interaction models for selecting predefined feedback
options for each criterion.

- _Task Description_: Create design prototypes for the UI components that allow tutors to insert
`Stage` content into the comments section. Focus on user interaction models for selecting
predefined feedback options for each criterion.

- [ ] **Implement UI for Inserting `Stage` Content**
- *Task Description*: Develop the front-end functionality and interface
elements based on the finalised designs that enable tutors to easily
insert `Stage` content, including feedback, directly into the comments
section.

- _Task Description_: Develop the front-end functionality and interface elements based on the
finalised designs that enable tutors to easily insert `Stage` content, including feedback,
directly into the comments section.

- [ ] **Design Interactive Feedback Mechanism**
- *Task Description*: Prototype a dynamic feedback mechanism that
facilitates tutors in selecting or inputting feedback for each criterion
within a `Stage`. This design task should explore various UI elements
like dropdowns or autocomplete fields for predefined feedback options,
and modal dialogs or inline editing options for custom comments.

- _Task Description_: Prototype a dynamic feedback mechanism that facilitates tutors in selecting
or inputting feedback for each criterion within a `Stage`. This design task should explore
various UI elements like dropdowns or autocomplete fields for predefined feedback options, and
modal dialogs or inline editing options for custom comments.

- [ ] **Design Interactive Feedback Mechanism**
- *Task Description*: Prototype a dynamic feedback mechanism that facilitates
tutors in selecting or inputting feedback for each criterion within a `Stage`.
This design task should explore various UI elements like dropdowns or
autocomplete fields for predefined feedback options, and modal dialogs or inline
editing options for custom comments.

- _Task Description_: Prototype a dynamic feedback mechanism that facilitates tutors in selecting
or inputting feedback for each criterion within a `Stage`. This design task should explore
various UI elements like dropdowns or autocomplete fields for predefined feedback options, and
modal dialogs or inline editing options for custom comments.

- [ ] **Develop Interactive Feedback Mechanism**
- *Task Description*: Implement the interactive feedback mechanism as per the
approved designs. This involves creating responsive and user-friendly UI
components that allow tutors to provide feedback efficiently and intuitively.
- _Task Description_: Implement the interactive feedback mechanism as per the approved designs.
This involves creating responsive and user-friendly UI components that allow tutors to provide
feedback efficiently and intuitively.

## Documentation Tasks

- [x] **Outline Document Structure**
- *Description*: Define the structure of the documentation, including
sections for introduction, component guides, integration instructions, user
guides, and developer notes.

- _Description_: Define the structure of the documentation, including sections for introduction,
component guides, integration instructions, user guides, and developer notes.

- [x] **Document `Stage` Component Model and Structure**
- *Description*: Detail the model structure, properties, and functionalities
of the `Stage` component. Include code snippets, diagrams, and examples of
use.

- _Description_: Detail the model structure, properties, and functionalities of the `Stage`
component. Include code snippets, diagrams, and examples of use.

- [ ] **Document Integration Points and Processes**
- *Description*: Explain how the Tutor Feedback Enhancement feature
integrates with existing OnTrack components such as task and task-definition
models, including technical details for developers.

- _Description_: Explain how the Tutor Feedback Enhancement feature integrates with existing
OnTrack components such as task and task-definition models, including technical details for
developers.

- [ ] **Create a User Guide for Unit Chairs**
- *Description*: Write a user guide for unit chairs on how to create and
manage tasks with the Tutor Feedback Enhancement feature. Include
instructions on adding stages, setting criteria, and reviewing feedback.

- _Description_: Write a user guide for unit chairs on how to create and manage tasks with the
Tutor Feedback Enhancement feature. Include instructions on adding stages, setting criteria, and
reviewing feedback.

- [ ] **Create User Guide for Tutors**
- *Description*: Write a user guide for tutors on how to use the Tutor
Feedback Enhancement feature, including how to add, edit, and review feedback
stages.

- _Description_: Write a user guide for tutors on how to use the Tutor Feedback Enhancement
feature, including how to add, edit, and review feedback stages.

- [ ] **Include UI Component Guides**
- *Description*: Document the UI components related to the Tutor Feedback
Enhancement feature, such as viewing, editing, and inserting stages, and the
interactive feedback mechanism. Include screenshots and usage scenarios.

- _Description_: Document the UI components related to the Tutor Feedback Enhancement feature,
such as viewing, editing, and inserting stages, and the interactive feedback mechanism. Include
screenshots and usage scenarios.

- [ ] **Document API Endpoints and Usage**
- *Description*: List all the API endpoints associated with the Tutor
Feedback Enhancement feature, detailing request and response formats, and
provide examples of typical API calls.

- _Description_: List all the API endpoints associated with the Tutor Feedback Enhancement
feature, detailing request and response formats, and provide examples of typical API calls.

- [ ] **Add Developer Notes for Future Enhancements**
- *Description*: Include a section for developers on how the feature can be
extended or integrated with other systems, highlighting potential areas for
future enhancements.
- _Description_: Include a section for developers on how the feature can be extended or integrated
with other systems, highlighting potential areas for future enhancements.

0 comments on commit 43066a8

Please sign in to comment.