14 — Handoff de desarrollo — VOLTA
1. Fuentes de verdad
| Artefacto | Ubicación |
|---|
| Case docs | /Users/cristian/orca/ux-projects/2026-08-08-volta/docs/ |
| Paper | https://app.paper.design/file/01KZG2VRQFF2QF0PRDB10D4AG7 |
| App | /Users/cristian/orca/volta-app/ |
| Schema | apps/api/prisma/schema.prisma |
| Seed | apps/api/prisma/seed.ts |
| Tokens | apps/web/tailwind.config.js |
| Rutas web | apps/web/src/app/app.routes.ts |
| API client | apps/web/src/app/core/api.service.ts |
2. Setup local (checklist)
- Node LTS instalado.
- Clonar/usar
volta-app.
- Copiar
apps/api/.env.example → .env con DATABASE_URL (Neon) y JWT_SECRET.
npm install --prefix apps/api && npm install --prefix apps/web.
- Migrar y seed.
npm run api (:3008) y npm run web (:4200).
- Smoke S2, S4, S6, S11, S12 (doc 13).
3. Contratos que no romper
| Contrato | Detalle |
|---|
| Prefijo API | /api |
| Login body | { email, password } |
| Login response | { accessToken, user } |
| Create request fields | fullName, email, phone?, classType, preferredDay, preferredSlot, notes? |
| Status patch | { status: RequestStatus } |
| Stats shape | { total, open, byStatus } |
| Token storage keys | volta_token, volta_user |
Cambios de contrato → actualizar docs 04, 05, 20 y Paper si afecta UI.
4. Mapa pantalla → API → modelo
| Pantalla | Métodos | Modelo |
|---|
| Join | POST requests | ClassRequest |
| Success | — (resultado create) | code |
| Login | POST auth/login | User |
| Inbox | GET requests, GET stats | ClassRequest[] |
| Detail | GET :id, PATCH status | ClassRequest |
5. Tokens UI a respetar
| Token | Hex |
|---|
| bg | #F7F7F2 |
| ink | #0B0B0B |
| lime | #C6F23A |
| muted | #5C5C58 |
| border | #E2E2DC |
| fonts | Syne + Work Sans |
No sustituir por tema default de Angular Material sin brief de diseño.
6. Convenciones de código
| Área | Convención |
|---|
| Angular | Standalone components por página |
| Nest | Module por dominio (auth, requests) |
| Prisma | Enums en schema; no strings sueltos de status |
| IDs | cuid |
| Códigos | VO-MMDD-XXX |
7. Definition of Done (feature)
8. Ambientes
| Env | API | Web | DB |
|---|
| Local | :3008 | :4200 | Neon dev branch |
| Prod (futuro) | host API | host web | Neon main |
| Rol | Persona |
|---|
| Product/UX case | Serie ALS-2 daily |
| Coach demo | Nora Beltrán |
10. Riesgos de implementación
| Riesgo | Mitigación |
|---|
| CORS en prod | Whitelist origen web |
| API URL hardcode | Environment Angular L1+ |
Orden rutas Nest stats vs :id | stats/summary declarado antes de :id [COMPROBADO en controller] |