Arquitetura
apps/app
Dashboard SPA com Vite 7 + React 19
O apps/app e a aplicacao principal — um SPA (Single Page Application) que roda na porta 5173.
Stack
- Vite 7 — Build tool com HMR
- React 19 — UI library
- Tailwind CSS v4 — Styling via
@tailwindcss/viteplugin (semtailwind.config.ts) - shadcn/ui — Componentes (style
radix-nova) - React Router — Client-side routing
- TanStack Query — Server state (queries e mutations)
- Zustand — Client state (auth, workspace, UI)
- Lucide React — Icones
Path alias
@/ mapeia para ./src/ (configurado em vite.config.ts e tsconfig.json).
import { Button } from "@/components/ui/button";
import { useDeals } from "@/hooks/use-deals";CSS
Tailwind v4 usa @import "tailwindcss" em src/index.css. Theme tokens sao definidos via CSS custom properties no color space oklch. Nao ha tailwind.config.ts nem postcss.config.js.
shadcn/ui
Style radix-nova com 25 componentes instalados. Para adicionar novos:
cd apps/app && bunx shadcn@latest add <component>Os componentes ficam em src/components/ui/ e sao codigo proprio — podem ser editados diretamente.
Merge condicional de classes com cn() de @/lib/utils:
import { cn } from "@/lib/utils";
<div className={cn("base-class", isActive && "active-class")} />