Skip to content

🔄 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 config

Getting 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 dev

Scripts

CommandDescription
pnpm devStart all apps with hot reload
pnpm buildBuild all packages and apps (respects dependency order)
pnpm typecheckTypeScript check across the entire monorepo
pnpm lintESLint across all workspaces
pnpm testRun tests across all workspaces
pnpm cleanRemove 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.