You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The frontend has many reusable components but no visual documentation or isolated development environment. Storybook should be set up to document all shared components, support visual regression testing, and serve as a living style guide.
Definition of Done
Storybook 8.x installed and configured for Next.js + Tailwind
Stories written for all shared UI components (Button, Card, Badge, Skeleton, etc.)
Stories written for form components (Input, Select, Checkbox, etc.)
Stories written for composite components (Quiz, Enrollment, Dashboard, etc.)
Storybook builds in CI and deploys to GitHub Pages or Chromatic
Stories include all component states: default, hover, focus, disabled, loading, error, empty
Dark mode toggle in Storybook toolbar
Documentation pages for design tokens and usage guidelines
Acceptance Criteria
npm run storybook starts Storybook on port 6006
All shared components have at least one story
Stories cover all visual states of each component
Storybook builds without errors in CI
Files to Modify
frontend/package.json — add storybook and related dependencies + scripts
New file: frontend/.storybook/main.ts — Storybook config
New file: frontend/.storybook/preview.ts — global decorators
New file: frontend/src/components/ui/button.stories.tsx — example stories
New file: frontend/src/components/ui/card.stories.tsx
New file: frontend/src/components/ui/badge.stories.tsx
New file: frontend/src/components/Skeleton.stories.tsx
New file: frontend/src/components/ErrorBoundary.stories.tsx
Description
The frontend has many reusable components but no visual documentation or isolated development environment. Storybook should be set up to document all shared components, support visual regression testing, and serve as a living style guide.
Definition of Done
Acceptance Criteria
npm run storybookstarts Storybook on port 6006Files to Modify
frontend/package.json— add storybook and related dependencies + scriptsfrontend/.storybook/main.ts— Storybook configfrontend/.storybook/preview.ts— global decoratorsfrontend/src/components/ui/button.stories.tsx— example storiesfrontend/src/components/ui/card.stories.tsxfrontend/src/components/ui/badge.stories.tsxfrontend/src/components/Skeleton.stories.tsxfrontend/src/components/ErrorBoundary.stories.tsx.github/workflows/ci.yml— add Storybook build step