Al finalizar esta guía tendrás UZDI corriendo completamente en local: el frontend Vue 3 servido por Vite enDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Zapiony/PUCE_UZDI_2026/llms.txt
Use this file to discover all available pages before exploring further.
http://localhost:5174 y el API REST de NestJS escuchando en http://localhost:3000/api/v1. Podrás iniciar sesión con el usuario sembrado por el script DDL y explorar la plataforma completa.
Prerequisites
Antes de comenzar, asegúrate de tener instalado lo siguiente:| Requisito | Versión mínima | Verificar |
|---|---|---|
| Node.js | 18.x o superior | node -v |
| npm | Incluido con Node 18 | npm -v |
| PostgreSQL | 14+ | psql --version |
UZDI no requiere Docker ni ningún otro runtime adicional. Un servidor PostgreSQL local es suficiente para desarrollo.
Setup steps
Clone the repo and install frontend dependencies
Clona el repositorio (acceso restringido a miembros autorizados del equipo PUCE) y luego instala las dependencias del frontend:Esto instala Vue 3.5 (runtime) y las devDependencies: Vite 8, TypeScript 6 y vue-tsc, tal como están declaradas en
UZDI_FRONT/package.json.Install backend dependencies
Abre una segunda terminal (mantén la primera para el frontend) e instala las dependencias del backend NestJS:Esto instala NestJS 11, TypeORM 1, bcrypt 6, class-validator, DOMPurify 3 y el driver
pg de PostgreSQL, entre otras dependencias declaradas en UZDI_BACK/package.json.Create the PostgreSQL database
Conéctate a PostgreSQL como superusuario Verifica que la base de datos fue creada:
postgres y crea la base de datos de la aplicación:Run the DDL script to initialize the schema
Aplica el archivo Data Definition Language para crear todos los schemas, tablas, triggers y datos semilla:
El script DDL crea 6 schemas de PostgreSQL:
estructura_institucional, seguridad, adolescente, contexto_familiar, talleres_actividades y gestion_documental. También instala los triggers de auditoría automáticos. Consulta la sección de Arquitectura para más detalles.Configure backend environment variables
Crea un archivo Reemplaza
.env en el directorio UZDI_BACK/ con tus credenciales de base de datos locales:tu_contraseña con tu contraseña local de PostgreSQL. La variable PORT es opcional — el backend usa 3000 por defecto si no está definida.Nunca commitees el archivo
.env al repositorio. Está incluido en .gitignore. No compartas credenciales fuera del equipo de desarrollo autorizado.Start the backend in development mode
Desde el directorio Deberías ver la salida de arranque de NestJS terminando con:Verifica que la API responde con el health check:
UZDI_BACK/, lanza el servidor NestJS en modo watch:Configure the frontend API URL and start Vite
Crea (o edita) Luego inicia el servidor de desarrollo Vite:Vite imprimirá:
UZDI_FRONT/.env para apuntar el frontend a tu API local:Available npm scripts
Frontend (UZDI_FRONT/)
| Script | Comando | Descripción |
|---|---|---|
dev | vite | Servidor de desarrollo con HMR en localhost:5174 |
build | vue-tsc -b && vite build | Compilación TypeScript + bundle de producción |
preview | vite preview | Vista previa del bundle de producción |
Backend (UZDI_BACK/)
| Script | Comando | Descripción |
|---|---|---|
start:dev | nest start --watch | Modo watch con recarga automática (desarrollo) |
start:debug | nest start --debug --watch | Modo debug con inspector Node.js |
start:prod | node dist/main | Servidor de producción desde el build compilado |
build | nest build | Compila TypeScript a dist/ |
test | jest | Suite de tests unitarios (Jest) |
test:e2e | jest --config ./test/jest-e2e.json | Tests end-to-end |
test:cov | jest --coverage | Cobertura de tests |
lint | eslint "{src,apps,libs,test}/**/*.ts" --fix | Lint + auto-fix con ESLint |
format | prettier --write "src/**/*.ts" "test/**/*.ts" | Formateo con Prettier |