Skip to main content

Frontend Overview

The platform serves multiple end-user surfaces from one design system (@ghasi/ui) and one typed client (@ghasi/sdk-client):

:::warning No app surfaces present in this repo yet. The codegen will fill this section as apps/web-learner, apps/web-authoring, apps/web-admin, apps/mobile, apps/desktop land. Until then, see the spec docs for the planned surfaces. :::

All surfaces honour the same invariants:

  • WCAG 2.2 AA, RTL parity, prefers-reduced-motion respected.
  • TanStack Query (server state) + Zustand (client UI). Redux forbidden.
  • React Hook Form + Zod schemas shared with backend via @ghasi/api-contracts.
  • ICU MessageFormat for every user-facing string. No hardcoded strings.