# Gruperly Monorepo de Gruperly. Consulta [stack.md](./stack.md) para arquitectura y especificaciones. ## Stack - Package manager: [pnpm](https://pnpm.io/) 9 - Monorepo: pnpm workspaces + Turborepo - Backend (`apps/backend`): Node + Hono (`@hono/node-server`) + Prisma + PostgreSQL + Better Auth - Frontend (`apps/web`): React 19 + TypeScript + TanStack Router + TanStack Query + Tailwind v4 - Shared (`packages/shared`): esquemas Zod, tipos, `Result` y Problem Details compartidos ## Estructura ```text apps/ backend/ # Backend (Node + Hono + Prisma, tsx) web/ # Frontend (React PWA) packages/ shared/ # Esquemas Zod y tipos compartidos config/ # tsconfig base compartido ``` ## Comandos ```bash pnpm install # Instala dependencias de todos los workspaces pnpm dev # Levanta la API (4000) y la web (6173) vía Turborepo pnpm typecheck # tsc --noEmit en todos los paquetes pnpm lint # biome check (backend y shared) pnpm --filter @gruperly/backend test # vitest (backend) pnpm --filter @gruperly/backend db:push # Aplica el esquema de Prisma a la base de datos pnpm --filter @gruperly/backend db:studio # Abre Prisma Studio ``` ## Setup de base de datos 1. Crea una base PostgreSQL y copia `apps/backend/.env.example` → `apps/backend/.env`, ajustando `DATABASE_URL`. 2. Ejecuta `pnpm --filter @gruperly/backend db:generate` y `pnpm --filter @gruperly/backend db:push` (o `pnpm --filter @gruperly/backend db:migrate` en desarrollo).