Skip to content

E2609 : Frontend: calibration assignments + review reporting#164

Closed
ruju4a wants to merge 0 commit intoexpertiza:mainfrom
ruju4a:main
Closed

E2609 : Frontend: calibration assignments + review reporting#164
ruju4a wants to merge 0 commit intoexpertiza:mainfrom
ruju4a:main

Conversation

@ruju4a
Copy link
Copy Markdown

@ruju4a ruju4a commented Mar 31, 2026

Summary:

Adds frontend support for calibration assignments in Expertiza: instructors configure calibration participants and gold-standard reviews, and view how student calibration reviews compare to instructor scores per rubric item. This PR also includes related review report work (ReviewReportPage, reviewData). The UI depends on JSON from new or extended backend endpoints (see Backend contract).

Files changed (calibration + bundled review work)

Assignment / calibration UI
src/pages/Assignments/AssignmentEditor.tsx
src/pages/Assignments/CalibrationReview.tsx
src/pages/Assignments/CalibrationInstructorReview.tsx
src/pages/Assignments/calibrationReportNormalize.ts
src/pages/Assignments/calibrationSummary.ts
src/pages/Assignments/calibrationReportDemo.ts
src/pages/Assignments/AssignmentUtil.ts

Routing
src/App.tsx

Reviews / reporting (bundled with this PR)
src/pages/Reviews/ReviewReportPage.tsx
src/pages/Reviews/reviewData.ts

Tests
src/pages/Assignments/tests/CalibrationReview.test.tsx
src/pages/Assignments/tests/CalibrationInstructorReview.test.tsx
src/pages/Assignments/tests/calibrationReportNormalize.test.ts
src/pages/Assignments/tests/calibrationReportDemo.test.ts
src/pages/Assignments/tests/calibrationSummary.test.ts
src/pages/Assignments/AssignmentEditor.test.tsx

Backend contract (high level)

Document or link to the backend PR: endpoints for calibration_response_maps, add_calibration_participant, begin, calibration_reports/:mapId, and instructor_response. Note alignment with SubmittedContentController-style payloads for hyperlinks/files where applicable.

Changes outside calibration project scope

The branch may contain additional changes that are not part of the calibration or review-report work described above (for example to keep the app running or for other tasks). Reviewers: treat Scope — files as the intended feature scope; other diffs are incidental unless you choose to review them in depth.

Comment thread src/utils/axios_client.ts Outdated
config.headers["Authorization"] = `Bearer ${token}`;
return config;
} else {
return Promise.reject("Authentication token not found! Please login again.");
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This forces all API calls to have a token which is arbitrary and should be decided by the API itself. For example password reset cannot use this since the user is not authenticated.

Copy link
Copy Markdown

@johnmweisz johnmweisz Apr 2, 2026

Choose a reason for hiding this comment

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

I think main had this already so you might just need to sync, either way I don't think we want this.

Comment thread dist/robots.txt Outdated
@@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
Copy link
Copy Markdown

@johnmweisz johnmweisz Apr 2, 2026

Choose a reason for hiding this comment

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

I don't think you want to commit the dist folder, this is a blocker.

Comment thread src/utils/apiBaseUrl.ts Outdated
* Rails API origin. For production Docker/VCL, set VITE_API_BASE_URL at build time
* (e.g. .env.production: VITE_API_BASE_URL=http://YOUR_VCL_IP:3002).
*/
export const API_BASE_URL = (
Copy link
Copy Markdown

@johnmweisz johnmweisz Apr 2, 2026

Choose a reason for hiding this comment

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

It's unusual to have an entire file dedicated to one const (ie apiBaseUrl.ts instead of apiConfig or something), but putting that aside, this really should be its own PR, this could become a conflict nightmare.

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.

2 participants