Skip to content

Reviews – Frontend

Technical documentation for the Reviews frontend in Alan Home (eu-home-app). Intended for developers debugging or developing on the feature.

Routes and pages

Route Component Purpose
/reviews ReviewsHome List of pending actions (self, coachee, peer) and active reviews
/reviews/:reviewId ViewReview View a single review (status, submissions, timeline)
/reviews/:reviewId/select-reviewers PickReviewers Reviewee/coach: add reviewers to the review
/reviews/:reviewId/validate-reviewers ValidateReviewers Coach: approve or reject reviewer submissions
/reviews/:reviewId/:reviewSubmissionId WriteReview Reviewer: write or edit a submission (answers, publication)

Data layer

Query options (OpenAPI)

  • searchReviewsQueryOptions(parameters) – list reviews (filters: reviewee_ids, reviewer_ids, statuses, etc.)
  • searchReviewSubmissionsQueryOptions(parameters) – list submissions (filters: reviewer_ids, published, types)
  • reviewQueryOptions(reviewId) – single review
  • reviewSubmissionsQueryOptions(reviewId) – submissions for a review
  • reviewSubmissionQueryOptions(reviewId, submissionId) – single submission
  • Policy checks use openApiPolicyCheckOptions for ABAC-gated actions (e.g. view answers, approve, publish).

Mutations

Mutations in utils/reviews.tsx for creating submissions, updating answers, publishing, approving, rejecting, extending dates, releasing.

Types

Types come from @alaneu/openapi-codegen/src/generated/eu-tools (Schemas.Review, Schemas.ReviewSubmission, etc.). Status and submission-type labels are in REVIEW_STATUS_LABELS and REVIEW_SUBMISSION_STATUS_LABELS.

Flow (high level)

  1. Home: Load todos and active/coachee reviews via query options; render lists and links to ViewReview, PickReviewers, ValidateReviewers, or WriteReview.
  2. View review: Load review and submissions; show status, timeline, and actions (add reviewers, validate, write submission, extend dates, release) depending on policy.
  3. Select reviewers: Add submissions (reviewers) for the review; when enough are added, status moves to coach approval.
  4. Validate reviewers: Coach approves or rejects each submission; when enough are approved, status moves to self-review or submissions.
  5. Write review: Reviewer loads submission, edits answers, publishes. After all submissions are published, status becomes completed; coach can then release (PDF to Drive).

Permissions

Access is enforced by the backend via ABAC. The frontend uses openApiPolicyCheckOptions to show/hide or enable/disable actions (e.g. "Approve", "Publish", "View answers"). Policy IDs align with backend (e.g. reviewee, reviewer, reviewee-coach).