Appearance
🔄 Synced from
castyou-frontend/README.md— edit it there, not here.
castyou-frontend
pnpm monorepo for the CastYou platform frontend, managed with Turborepo.
Workspace Structure
apps/
├── landing/ @castyou/landing — Next.js 15 public marketing site (port 3000)
└── app/ @castyou/app — React 18 + Vite product app (port 3001)
packages/
├── design-system/ @castyou/design-system — Tailwind + Radix UI component library
└── tsconfig/ @castyou/tsconfig — Shared TypeScript configGetting Started
bash
# Requires pnpm 9+ and Node 20+
corepack enable
# Install all workspace dependencies
pnpm install
# Run all apps in development mode
pnpm dev
# Or run a single app
pnpm --filter @castyou/landing dev
pnpm --filter @castyou/app devScripts
| Command | Description |
|---|---|
pnpm dev | Start all apps with hot reload |
pnpm build | Build all packages and apps (respects dependency order) |
pnpm typecheck | TypeScript check across the entire monorepo |
pnpm lint | ESLint across all workspaces |
pnpm test | Run tests across all workspaces |
pnpm clean | Remove all build artifacts |
Apps
Landing (apps/landing)
Next.js 15 App Router. Public marketing site — landing page, pricing, blog.
App (apps/app)
React 18 + Vite SPA. The authenticated product — discover feed, profiles, job board, reel builder.
Uses TanStack Query v5 for server state and Zustand for client state. Connects to castyou-backend via GraphQL.
Design System (packages/design-system)
Shared component library used by both apps. Built on Tailwind CSS + Radix UI primitives.
tsx
import { Button, Card, Avatar, Badge, cn } from '@castyou/design-system';See packages/design-system/src/index.ts for all exports.
Documentation
- Architecture — monorepo structure, tech stack, data flow
- Patterns — component conventions, state management rules, file naming
Backend
See castyou-backend for the GraphQL API.