team document type in this project. Team membership is modeled in two places:
Inline on Project
Each
project document carries an inline team[] array and a mentor object. This is the authoritative record of who worked on a specific project.Testimonial document
The
testimonial document type stores quotes from students and industry contacts. A testimonial can optionally reference a project via the project field.Project team fields
Theteam and mentor fields live on the Project document under the Team tab. See the Project document page for full field documentation.
team[] array members
| Field | Type | Notes |
|---|---|---|
name | string (required) | Student’s full name |
role | string | lead, developer, designer, researcher, or qa |
mentor object
| Field | Type | Notes |
|---|---|---|
name | string (required) | Mentor’s full name |
title | string | Academic or professional title |
department | string | University department or company division |
Testimonial document
Thetestimonial document stores quotes that appear in testimonials page blocks and on project detail pages as impact case studies.
Full name of the person giving the testimonial.
Multi-site discriminator. Hidden on the
production (Capstone) dataset.The testimonial text. Displayed in
TestimonialCard.astro.Job title or academic role of the person (e.g.
Software Engineer, Senior Student).Company or university the person is affiliated with.
Categorizes the testimonial for filtering in the
testimonials block.| Value | Label |
|---|---|
industry | Industry |
student | Student |
Headshot of the person giving the testimonial. Supports hotspot cropping. Must include
alt text.Optional YouTube URL for a video testimonial. Only
https://youtube.com/ and https://youtu.be/ URLs are accepted.Optional link to a specific capstone project. When set, this testimonial appears in the Impact Case Studies section of the linked project’s detail page. Also enables
byProject filtering mode in the testimonials block.Filtering in the testimonials block
The resolveBlockTestimonials() helper in sanity.ts filters the pre-fetched testimonial cache based on the block’s displayMode:
| Mode | Behavior |
|---|---|
all | All testimonials |
industry | Only type == "industry" |
student | Only type == "student" |
byProject | Only testimonials with a project reference set |
manual | Editor-selected list from the block config |