-
Notifications
You must be signed in to change notification settings - Fork 56
Staff Dashboard
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:
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.
- Frontend: Refer to the frontend repository
- Backend: PR 582
- Added a HTTP
GETroute to/groupsthat returns the overviews of each group in the course. The overview contains the id of the group, the group name and the name of the group's Avenger. - Added a corresponding
GroupControllerto handle the aforementionedGETrequest.
- Writing new tests for this component.
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.
- Frontend: Refer to the frontend repository
- Backend: To be added
- Added various routes to handle the uploading/deleting/editing of assessments:
-
DELETE/assessments/:id -
POST/assessments -
POST/assessments/publish/:id -
POST/assessments/update/:id
-
- Modified and added various methods in
xml_parserand inassessmentsto handle the additional routes. Methods inxml_parsernow return either a:bad_requestor:forbiddenalong with the error message if there is an error in parsing. - Modified how the
is_publishedfield for assessments work. When an assessment is unpublished, instead of being unviewable by all users, staffs and admins will now be able to view unpublished assessments. - Changed the
all_published_assessmentsincadet/assessments/assessments.extoall_assessments. Returns all assessments/all published assessments depending on the role of the user. - Added
isPublishedfield toassessments_view.
More to be added
- Writing new tests for this component.
To be added