Pasos para levantar el proyecto después de clonar el repo. La app vive en web-app/;
todos los comandos se corren desde ahí.
- Node 24 + npm — fijado en
web-app/.nvmrc; con nvm:nvm use 24. CI correlts/*. - Una base PostgreSQL. Lo más rápido: Prisma Postgres gratis (crear DB → copiar la connection string). Alternativa: Postgres local.
cd web-app
nvm use 24 # o instalá Node 24 a mano (ver .nvmrc)
npm installnpm install también instala los git hooks de Husky (script prepare): lint + format
antes de cada commit, tests antes de cada push.
cp .env.example .envCompletá .env:
| Variable | Qué poner |
|---|---|
DATABASE_URL |
Connection string de tu Postgres. Prisma Postgres: prisma+postgres://… con tu API key. Directo: postgresql://user:pass@localhost:5432/capo. |
AUTH_SECRET |
npx auth secret (o openssl rand -base64 32). |
AUTH_GITHUB_ID / AUTH_GITHUB_SECRET |
Solo si querés login con GitHub. Creá una OAuth App en https://github.com/settings/developers con callback http://localhost:3000/api/auth/callback/github. Si no, dejá los placeholders y usá email + contraseña. |
NEXT_PUBLIC_APP_URL |
http://localhost:3000 |
npx prisma generate # genera el client en generated/prisma (está gitignored)
npx prisma migrate deploy # aplica las migraciones a la DB
npm run seed # carga el catálogo de temas + grupos de etiquetasprisma.config.tsse carga solo — no hace falta--config.- En desarrollo, si vas a modificar el schema, usá
npx prisma migrate dev --name <nombre>en lugar dedeploy. - El seed llena el catálogo completo de temas (~60) y los grupos
Eisenhower/Dev. Sin él la app arranca igual pero sin temas para elegir.
npm run dev→ http://localhost:3000. Registrate con email + contraseña (o GitHub si configuraste el OAuth).
npx playwright install chromium firefox # una sola vez
npm test # unitarios (Vitest)
npm run test:e2e # end to end (Playwright, levanta la app solo)- Comandos del día a día:
docs/comandos.md. - Convenciones de commits:
CONTRIBUTING.md. - Arquitectura y modelo de datos:
docs/arquitectura.md,docs/modelo-datos.md.