41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
# DH Inspección V2 — Revisión A0
|
|
|
|
Fecha de revisión: 12/08/2026.
|
|
|
|
## Backend
|
|
|
|
- NestJS 11 con TypeScript estricto.
|
|
- `ValidationPipe` usa `whitelist`, `forbidNonWhitelisted` y `transform`.
|
|
- Helmet está activo y `x-powered-by` deshabilitado.
|
|
- La API está prefijada con `/api/v3`.
|
|
- TypeORM usa `synchronize: false` y `migrationsRun: false`.
|
|
- El runtime se conecta con `DB_APP_USER`; no recibe credenciales del owner.
|
|
- Antes de A1 no había entidades, migraciones, usuarios ni autorización.
|
|
|
|
## Base de datos e infraestructura
|
|
|
|
- PostgreSQL 16 con PostGIS 3.5.
|
|
- La base no publica puertos al host.
|
|
- `dhv2_app` ya se crea como rol sin privilegios administrativos.
|
|
- Los default privileges estaban previstos en la inicialización de bases nuevas.
|
|
- Faltaba una vía controlada para ejecutar migraciones como `dhv2_owner` sobre
|
|
la base existente; A1 incorpora el servicio temporal `migrate`.
|
|
|
|
## Frontend
|
|
|
|
- React 19, Vite y React Router.
|
|
- Sólo existe el skeleton de navegación y el health check.
|
|
- No hay autenticación ni persistencia de tokens.
|
|
- No se modificó el frontend durante A0/A1.
|
|
|
|
## Observaciones resueltas
|
|
|
|
- El README indicaba PostGIS 3.6; se corrigió a 3.5.
|
|
- Se mantuvo `synchronize: false` en runtime y migraciones.
|
|
- Las credenciales del owner quedan fuera del contenedor permanente de la API.
|
|
|
|
## Próximo bloque
|
|
|
|
A2 implementará autenticación, Argon2id, cookies seguras, sesiones rotativas,
|
|
lockout, rate limiting y bootstrap seguro del primer administrador.
|