Skip to content

add core progress indicator#479

Open
SanjanaBottu wants to merge 8 commits intothoth-tech:developmentfrom
SanjanaBottu:peer-progress
Open

add core progress indicator#479
SanjanaBottu wants to merge 8 commits intothoth-tech:developmentfrom
SanjanaBottu:peer-progress

Conversation

@SanjanaBottu
Copy link
Copy Markdown

@SanjanaBottu SanjanaBottu commented Apr 29, 2026

Description

This pull request introduces a new Core Progress Indicator component to the student progress dashboard by transitioning from static or implicit progress tracking to a fully dynamic, data-driven visualization powered by a backend API.

Previously, students did not have a clear, consolidated view of their progress toward their selected target grade. This PR implements a structured progress calculation based on the student’s actual task completion data relative to the required tasks for their target grade. The system now provides a continuous and accurate representation of progress throughout the unit.

Additionally, this change enhances the user interface by introducing a clean and intuitive progress summary card featuring a visual progress bar, percentage indicator, and task completion breakdown, improving clarity and usability.

The change includes:

  • Implementing a new backend API endpoint: GET /api/peer_progress/:unit_id/:student_id
    to dynamically calculate student progress based on:

    • target grade
    • required tasks
    • completed tasks
  • Adding a new AngularJS directive core-progress-indicator to render progress data in the frontend.

  • Replacing static or implicit progress representation with real-time API-driven data.

  • Implementing a responsive progress bar using dynamic width binding (ng-style) to visually represent progress percentage.

  • Displaying descriptive target grade labels returned by the backend API.

  • Updating states.coffee and directives.coffee to register and load the new component.

  • Updating doubtfire-angularjs.module.ts to include the directive in the AngularJS bundling pipeline.

  • Cleaning up redundant or conflicting dashboard layout elements during integration.

Matching backend PR: thoth-tech/doubtfire-api#98
This frontend PR depends on the matching doubtfire-api PR for: GET /api/peer_progress/:unit_id/:student_id

Fixes # (issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Test steps:

  • Run the project locally (both doubtfire-api and doubtfire-web)
  • Log in as a student with an active project
  • Navigate to the Progress Dashboard
  • Verify that:
    • The Core Progress Indicator renders correctly
    • Target grade is displayed using descriptive labels (Pass, Credit, Distinction, HD)
    • Progress percentage matches backend calculation
    • Progress bar visually reflects the correct percentage
    • Tasks completed vs required are accurate
  • Confirm that the component updates correctly across different students/projects

Testing Checklist:

  • Tested in latest Chrome
  • Tested in latest Safari
  • Tested in latest Firefox
  • Tested in latest Microsoft Edge

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
image image image image

@SanjanaBottu SanjanaBottu changed the title Resolve merge conflict and add core progress indicator add core progress indicator Apr 29, 2026
Copy link
Copy Markdown

@owens-hub-git owens-hub-git left a comment

Choose a reason for hiding this comment

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

I can see that this works from your screenshots, but it feels out of place. When I say this I mean there is lot's of space around the core progress indicator and it lacks description. If I was a student looking at this I wouldn't know what it is or why it's important here.

Also, I'm unsure why you deleted comments because it gave developers an understanding of where parts of the ui are as they are not named but just divs.

@SanjanaBottu
Copy link
Copy Markdown
Author

I can see that this works from your screenshots, but it feels out of place. When I say this I mean there is lot's of space around the core progress indicator and it lacks description. If I was a student looking at this I wouldn't know what it is or why it's important here.

Also, I'm unsure why you deleted comments because it gave developers an understanding of where parts of the ui are as they are not named but just divs.

Thanks for the feedback. I’ve updated the Core Progress Indicator to reduce the empty space, added clearer student-facing description text explaining why it is useful, and restored the structural comments in the dashboard template for developer readability.

@SanjanaBottu SanjanaBottu requested a review from owens-hub-git May 4, 2026 06:43
Copy link
Copy Markdown

@owens-hub-git owens-hub-git left a comment

Choose a reason for hiding this comment

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

Testing this now, but you need to merge the commits to your own team branch not development which is then merged into 10.0.x by Brian

Copy link
Copy Markdown

@mudith-perera mudith-perera left a comment

Choose a reason for hiding this comment

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

Reviewed the work. Good job, Sanjana! I approve these changes.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants