- Add package.json for the root with workspace configuration and scripts - Create @gruperly/config package with TypeScript configuration - Establish shared package @gruperly/shared with Zod schemas for validation - Implement group, student, and payment schemas using Zod - Set up TypeScript configuration for shared package - Document stack architecture and technical specifications in stack.md - Configure Turborepo with build, dev, lint, and typecheck tasks
37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
# Gruperly
|
|
|
|
Monorepo de Gruperly. Consulta [stack.md](./stack.md) para arquitectura y especificaciones.
|
|
|
|
## Stack
|
|
|
|
- Runtime & package manager: [Bun](https://bun.sh/)
|
|
- Monorepo: Bun Workspaces + Turborepo
|
|
- Backend (`apps/api`): Bun + Hono + Prisma + PostgreSQL + Better Auth
|
|
- Frontend (`apps/web`): React 19 + TypeScript + TanStack Router + TanStack Query + Tailwind v4
|
|
- Shared (`packages/shared`): esquemas Zod y tipos compartidos
|
|
|
|
## Estructura
|
|
|
|
```text
|
|
apps/
|
|
api/ # Backend (Bun + Hono + Prisma)
|
|
web/ # Frontend (React PWA)
|
|
packages/
|
|
shared/ # Esquemas Zod y tipos compartidos
|
|
config/ # tsconfig base compartido
|
|
```
|
|
|
|
## Comandos
|
|
|
|
```bash
|
|
bun install # Instala dependencias de todos los workspaces
|
|
bun run dev # Levanta la API y la web (vía Turborepo)
|
|
bun run db:push # Aplica el esquema de Prisma a la base de datos
|
|
bun run db:studio # Abre Prisma Studio
|
|
```
|
|
|
|
## Setup de base de datos
|
|
|
|
1. Crea una base PostgreSQL y copia `apps/api/.env.example` → `apps/api/.env`, ajustando `DATABASE_URL`.
|
|
2. Ejecuta `bun run db:generate` y `bun run db:push` (o `bun run db:migrate` en desarrollo).
|