TeachKit project

TeachKit / Design system

Documentation v0.1 · Released product

Design system contents

Components

Course discovery and progress cards

Carry a course’s identity from browsing into its learning destination. A cover card is a navigation unit, with editing and progress presented as distinct controls.

On this page

Purpose and usage

Carry a course’s identity from browsing into its learning destination. A cover card is a navigation unit, with editing and progress presented as distinct controls.

Anatomy

Anatomy
PartContract
Coveraspect-video image inside a link
Title and authorCourse identity and instructor context
Draft markerConditional corner treatment
ProgressLesson count and completed count
Edit affordanceOwner-dependent separate action

Variants and configuration

Variants and configuration
Input or variantBehavior
Course propsid, title, imageUrl, author, authorUsername and status
RoleisOwner plus session admin state influence metadata
ProgresslessonCount and completedCount; completion clamps to total

State coverage

State coverage
StateImplemented behavior
DefaultCover and title link to the class
DraftConditional draft treatment
In progressStriped progress bar before total completion
CompleteCompletion badge replaces incomplete progress
TouchTouch detection affects hover-dependent behavior

Interaction and composition

  • Let the grid parent choose columns; do not hard-code card dimensions for every screen.
  • An action check is not a lesson completion count. Pass the parent’s correct completion records.
  • Enrollment counts are shown for admins/owners or when at least 100; captures omit actual student totals.

Accessibility and readiness

The progressbar has an accessible name and numeric values. Verify separate edit actions, image alt text, touch discovery and long titles manually. Demo progress is simulated and is not a claim about a real learner.

Composition example

<CourseCard {...courseSummary} lessonCount={24}
  completedCount={demoCompletedCount} />

Source references

Source references
FileResponsibility
src/components/CourseCard.tsxCard, progress and role-aware metadata
src/components/CourseCardGrid.tsxGrid composition

Examples from the app

Actual TeachKit UI with Thomas McGee’s course content. Session, progress and connection specimens are simulated; no student data or live changes. Captured at 2× resolution or higher. Select an image to inspect it full size.

Course Card · Component detail · Light · Desktop · 1920 × 880 px
Library · Screen · Light · Desktop · 2880 × 2000 px

Source audit: 2026-10-07 · Revision d8cf23d0a329 · Documentation v0.1