My App
CourseKitFrontend

Frontend Overview

Overview of the @hfu.digital/coursekit-react package

The @hfu.digital/coursekit-react package provides React hooks and pre-styled components for building timetable and scheduling interfaces.

Philosophy

CourseKit follows a headless-first approach:

  1. Hooks expose all state and actions — use them for fully custom UIs
  2. Components are optional pre-styled wrappers — use them for rapid prototyping

Every component can be replaced by your own implementation using the underlying hooks.

What's Included

Hooks

HookPurpose
useTimetableFetch schedule for entity + date range
useAvailabilityFetch free/busy slots for an entity
useConflictCheckReal-time conflict preview for proposed events
useMutationCreate, update, and delete events and exceptions
useRoomSearchSearch rooms by capacity, building, and availability

Components

ComponentDescription
TimetableGridWeek/day grid view with configurable time axis
EventCardSingle event display with exception styling
ConflictBadgeVisual conflict indicator (error/warning)
AvailabilityOverlayFree/busy overlay on the timetable grid

Peer Dependencies

{
    "react": "^18.0.0 || ^19.0.0",
    "react-dom": "^18.0.0 || ^19.0.0"
}

On this page