feat: initialize monorepo structure with Bun and Turborepo

- 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
This commit is contained in:
Jose Selesan
2026-08-28 17:03:53 -03:00
parent 52b3074631
commit ed8d280995
50 changed files with 1660 additions and 1 deletions

View File

@@ -1,2 +1,36 @@
# gruperly
# 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).