VendeeDocs
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/vite plugin (sem tailwind.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")} />

On this page