Skip to content

Frontends: dependencias y configuración ​

Dependencias comunes ​

Presentes en los siete frontends, con la misma versión.

PaqueteVersiónUso
vue3.5.32Framework de interfaz
vue-router5.0.4Enrutamiento
pinia3.0.4Estado global
@vueuse/core14.3.0Composables utilitarios
tailwindcss4.3.0Estilos por clases utilitarias
@tailwindcss/vite4.3.0Integración de Tailwind con Vite
reka-ui2.9.8Componentes accesibles sin estilo (base de shadcn-vue)
class-variance-authority0.7.1Variantes de estilos de componentes
clsx · tailwind-merge2.1.1 · 3.6.0Combinación de clases CSS
@lucide/vue1.16.0Iconos

Dependencias por función ​

PaqueteVersiónUsoProyectos
@apollo/client · @vue/apollo-composable · @vue/apollo-util3.11.8 · 4.2.1 · 4.2.2Cliente GraphQLTodos excepto auth-authorization-frontend
graphql · graphql-tag16.12.0 · 2.12.6Definición de operaciones GraphQLÍdem
apollo-upload-client18.0.1Subida de archivos por GraphQLÍdem
date-fns4.3.0Manejo de fechasÍdem
vee-validate · @vee-validate/zod · zod4.15.1 · 4.15.1 · 4.4.3Validación de formulariosTodos excepto auth-authorization-frontend y la estación
@embedpdf/* (core, engines y plugins)2.14.4Visor de PDF embebidofrontend-public-auth y los tres portales del SPS
js-sha10.7.0Hash SHA-1 en el clientefrontend-public-auth y los tres portales del SPS
@tiptap/* (vue-3, starter-kit, pm y extensiones)3.26–3.27Editor de texto enriquecidoLos tres portales del SPS
@tiptap/extension-mention3.27.1Menciones en el editorPortales administrativo y de comisiones
tiptap-pagination-plus3.1.0Paginación en el editorPortal administrativo
echarts6.1.0GráficosPortales administrativo y de comisiones

auth-authorization-frontend no usa GraphQL de forma general: consume los endpoints REST del flujo de login con Fetch.

Herramientas de desarrollo ​

PaqueteVersiónUso
vite^8.0.8Servidor de desarrollo y empaquetado
@vitejs/plugin-vue^6.0.6Soporte de componentes .vue
vite-plugin-vue-devtools^8.1.1Vue DevTools integradas en desarrollo
eslint · @eslint/js · eslint-plugin-vue · globals^10.2.1 · ^10.0.1 · ~10.8.0 · ^17.5.0Linter
oxlint · eslint-plugin-oxlint~1.60.0Linter rápido (se ejecuta antes de ESLint)
prettier · eslint-config-prettier3.8.3 · ^10.1.8Formato de código
npm-run-all2^8.0.4Ejecución de scripts lint:* en serie
tw-animate-css^1.4.0Animaciones para Tailwind
@types/node^25.9.1Tipos de Node para el editor
cypress · eslint-plugin-cypress · start-server-and-test^15.16.0 · ^6.3.1 · ^3.0.5Pruebas end-to-end (solo auth-frontend-admin)

Componentes de interfaz (shadcn-vue) ​

Los componentes de src/components/ui/ siguen shadcn-vue: su código fuente vive en el repositorio (no es una librería instalada) y se construye sobre Reka UI y Tailwind. La configuración está en components.json (estilo new-york, iconos lucide, CSS en src/assets/css/tailwind.css).

Variables de entorno ​

Las variables VITE_* se definen en .env (plantilla .env.example) y se incrustan en el bundle al compilar. La lista por proyecto está en Imágenes Docker.

VariableDescripción
VITE_TITLE_APPTítulo de la aplicación
VITE_API_ENDPOINTURL base del backend
VITE_API_ENDPOINT_PATHPath del schema GraphQL (por ejemplo /admin-schema/)
VITE_API_ENDPOINT_FILESURL base de archivos públicos
VITE_API_FILES_PRIVATEURL base de archivos privados
VITE_AUTH_ORIGIN_PORTALPortal de origen enviado al iniciar sesión (por ejemplo PORTAL_ADMINISTRATIVO)
VITE_AUTH_PUBLIC_URLURL del portal de cuenta del IDP ("Mi cuenta")
VITE_LOGIN_REDIRECT_URLURL del portal de login del IDP (el logout usa <url>/logout)
VITE_PUBLIC_AUTH_PORTAL · VITE_ADMIN_AUTH_PORTALURLs de los portales del IDP
VITE_DOMAIN_PUBLIC_URLSe recibe en el build; sin uso en el código actual
VITE_JACOBITUS_API_URLURL del servicio Jacobitus (firma digital con token)
VITE_MANUAL_TECNICO_URL · VITE_MANUAL_USUARIO_URLEnlaces a los manuales

Scripts y ejecución local ​

sh
corepack enable pnpm
pnpm install
cp .env.example .env   # completar valores
pnpm run dev
ScriptAcción
pnpm run devServidor de desarrollo
pnpm run buildBuild de producción en dist/
pnpm run previewSirve el build localmente
pnpm run lintOxlint + ESLint con corrección automática
pnpm run formatPrettier sobre src/
pnpm run test:e2ePruebas Cypress (solo auth-frontend-admin)

Puertos y host local de desarrollo (package.json y server.allowedHosts de vite.config.js):

FrontendPuertoHost local
auth-authorization-frontend8080login-auth-eje-local.app.com.bo
auth-frontend-admin7070admin-auth-eje-local.app.com.bo, auth-admin-eje-local.app.com.bo
frontend-public-auth9092auth-public-eje-local.app.com.bo
frontend-portal-admin-seleccion-postulantes9090admin-portal-seleccion-eje-local.app.com.bo
frontend-portal-postulantes-seleccion-postulantes9091postulantes-portal-seleccion-eje-local.app.com.bo
frontend-portal-comisiones-seleccion-postulantes9093comisiones-portal-seleccion-eje-local.app.com.bo
frontend-estacion-examen9094estacion-examen-eje-local.app.com.bo