Skip to main content

Documentation 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.

Al finalizar esta guía tendrás UZDI corriendo completamente en local: el frontend Vue 3 servido por Vite en 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:
RequisitoVersión mínimaVerificar
Node.js18.x o superiornode -v
npmIncluido con Node 18npm -v
PostgreSQL14+psql --version
UZDI no requiere Docker ni ningún otro runtime adicional. Un servidor PostgreSQL local es suficiente para desarrollo.

Setup steps

1

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:
git clone <repo-url> PUCE_UZDI_2026
cd PUCE_UZDI_2026/UZDI_FRONT
npm install
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.
2

Install backend dependencies

Abre una segunda terminal (mantén la primera para el frontend) e instala las dependencias del backend NestJS:
cd PUCE_UZDI_2026/UZDI_BACK
npm install
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.
3

Create the PostgreSQL database

Conéctate a PostgreSQL como superusuario postgres y crea la base de datos de la aplicación:
psql -U postgres -c "CREATE DATABASE uzdi_db;"
Verifica que la base de datos fue creada:
psql -U postgres -l | grep uzdi_db
4

Run the DDL script to initialize the schema

Aplica el archivo Data Definition Language para crear todos los schemas, tablas, triggers y datos semilla:
psql -U postgres -d uzdi_db -f DDL_UZDI_FINAL.sql
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.
5

Configure backend environment variables

Crea un archivo .env en el directorio UZDI_BACK/ con tus credenciales de base de datos locales:
# UZDI_BACK/.env
DATABASE_URL=postgresql://postgres:tu_contraseña@localhost:5432/uzdi_db
PORT=3000
Reemplaza 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.
6

Start the backend in development mode

Desde el directorio UZDI_BACK/, lanza el servidor NestJS en modo watch:
cd UZDI_BACK
npm run start:dev
Deberías ver la salida de arranque de NestJS terminando con:
[NestApplication] Nest application successfully started
Application is running on: http://[::1]:3000
Verifica que la API responde con el health check:
curl http://localhost:3000/
7

Configure the frontend API URL and start Vite

Crea (o edita) UZDI_FRONT/.env para apuntar el frontend a tu API local:
# UZDI_FRONT/.env
VITE_API_BASE_URL=http://localhost:3000/api/v1
Luego inicia el servidor de desarrollo Vite:
cd UZDI_FRONT
npm run dev
Vite imprimirá:
VITE v8.x.x  ready in Xms
➜  Local:   http://localhost:5174/
➜  Network: use --host to expose
8

Open the app and log in

Navega a http://localhost:5174/login en tu navegador. Usa las credenciales creadas por el script DDL para autenticarte.
URL:      http://localhost:5174/login
API base: http://localhost:3000/api/v1
Tras un login exitoso, la aplicación guarda uzdi_token y uzdi_user en localStorage y te redirige a /app/dashboard.
Si el login falla con un error de red, verifica que el backend esté corriendo en el puerto 3000 y que el CORS esté configurado para http://localhost:5174. Revisa la sección de Arquitectura para los detalles de configuración CORS.

Available npm scripts

Frontend (UZDI_FRONT/)

ScriptComandoDescripción
devviteServidor de desarrollo con HMR en localhost:5174
buildvue-tsc -b && vite buildCompilación TypeScript + bundle de producción
previewvite previewVista previa del bundle de producción

Backend (UZDI_BACK/)

ScriptComandoDescripción
start:devnest start --watchModo watch con recarga automática (desarrollo)
start:debugnest start --debug --watchModo debug con inspector Node.js
start:prodnode dist/mainServidor de producción desde el build compilado
buildnest buildCompila TypeScript a dist/
testjestSuite de tests unitarios (Jest)
test:e2ejest --config ./test/jest-e2e.jsonTests end-to-end
test:covjest --coverageCobertura de tests
linteslint "{src,apps,libs,test}/**/*.ts" --fixLint + auto-fix con ESLint
formatprettier --write "src/**/*.ts" "test/**/*.ts"Formateo con Prettier

Flujo recomendado: Usa dos terminales en paralelo — una para el backend (npm run start:dev en UZDI_BACK/) y otra para el frontend (npm run dev en UZDI_FRONT/). Ambos servidores soportan recarga en caliente: el backend via --watch de NestJS CLI y el frontend via Vite HMR.

Build docs developers (and LLMs) love