Component organization
Biovity organizes components by feature and purpose in thecomponents/ directory:
Landing components
Landing page components are organized by page and feature:Home page components
Components incomponents/landing/home/ handle different sections:
Feature-based organization
Each landing page has its own directory:Dashboard components
Dashboard components are organized by user role:Employee dashboard
Components incomponents/dashboard/employee/ follow a tab-based structure:
Nested component structure
Complex dashboard sections have nested components:UI components
Base UI components incomponents/ui/ are built with Radix UI and shadcn:
Button component
Component variants
UI components use class-variance-authority for type-safe variants:Component patterns
Server vs client components
Biovity uses Next.js 16 App Router with React Server Components:Props and TypeScript
Always define prop types for components:Composition over inheritance
Use component composition for flexibility:Common components
Shared components incomponents/common/ are used across pages: