Skip to content

Staff Dashboard

Wong-ZZ edited this page Apr 20, 2020 · 7 revisions

AY1920 Semester 2 CP3108: Staff Dashboard (cadet-frontend)

The aim of the Staff Dashboard project is to make the administrative workflow easier for the staff over the course of a semester.

The three main components of the Staff Dashboard Project are:

Avengers Leaderboard

The Source Academy does not have way for staff to keep track of each avenger's grading progress and this is a very important information for staffs to know over the course of a semester as it allows for staffs to intervene should any Avenger fall behind in terms of grading.

As such, the Avengers Leaderboard provides a UI which keep tracks of the number of ungraded/submitted Missions/Quests for each Avenger.

Pull Requests

Changelogs

  • Added a new tab Dashboard which displays the grading progress of each Avenger.
  • Added a fetchGroupOverviews request method to fetch the overviews of each group. The overview contains the id of the group, the group name and the name of the group's Avenger.
  • Added a groupOverviews field in redux to store the aforementioned overviews of each group.
  • Added the UPDATE_GROUP_OVERVIEWS action to update the groupOverviews field whenever the overviews are fetched.
  • Added tests for the aforementioned actions/methods.

Assessment Uploader

The previous workflow for uploading assessments was very inconvenient, as feedbacked by the professors. The workflow involved uploading the assessment files to a bitbucket repository and the backend only pulls from this repository every hour. This means that assessments cannot be uploaded immediately to the Source Academy. On top of that, once assessments are open, they cannot be changed, not even a minor typo fix can be done without directly accessing the database.

As such, the Assessment Uploader also called the Ground Control provides a UI where the staffs can upload the assessment files anytime they want and it will be immediately parsed and uploaded into the backend database. The Ground Control allows for staffs to make changes (with certain constraints) to assessments that are already open. Staffs can also choose to delete or to publish/unpublish uploaded assessments. Published assessments will be viewable by both staffs and students while unpublished assessments are only viewable by staffs.

Pull Requests

Changelogs

  • Added a new tab Ground Control which contains the displays the UI for the Assessment Uploader.
  • Added various request methods: uploadAssessment, publishAssessment, deleteAssessment, changeDateAssessment to help with the uploading/deleting/editing of assessments.
  • Added a isPublished field to IAssessmentOverview.
  • Added @blueprintjs/datetime for the date input for changing an assessments open/close dates.

Playground Default Source Version Selector

Previously, the default source version of the playground had to manually updated and was stored as a single constant in the frontend.

As such, the Playground Default Source Version Selector is designed to provide an option to change the default source version of the playground as the semester progresses. It is a simple dropdown menu on the navigation bar that is only accessible to staff/admin.

Pull Requests

Changelogs

  • Added a dropdown menu to the navigation bar for staff/admin to change the default source version.
  • Added a fetchChapter request method to fetch the current default source version.
  • Added a changeChapter request method to change the default source version.
  • Added a updateChapter request method to update the default source version in the backend.
  • Added the FETCH_CHAPTER action to fetch the default source version from the redux state.
  • Added the UPDATE_CHAPTER action to update the default source version in the redux state.
  • Added the CHANGE_CHAPTER action to update the default source version in the backend.
  • Used redux state state.workspaces.playground.context.chapter
  • Added tests for fetch and change chapter actions.
  • Updated snapshots of navigation bar.