2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00
2026-08-26 16:31:12 -04:00

Portal de Requisición de Vacantes · GLM

Frontend responsive en Vite + React + TypeScript para gestionar requisiciones, aprobaciones, reclutamiento, SLA y capacidad del equipo de RRHH de GomezLee Marketing.

Ejecutar

Requiere Node.js 20.19+ o 22.12+.

npm install
npm run dev

Comandos de validación:

npm run lint
npm run check
npm run build
npm run preview

La aplicación se publica bajo /requisicion-vacantes/, configurado en vite.config.ts mediante:

base: '/requisicion-vacantes/'

Experiencias disponibles

  • Dirección de RRHH: tablero global, aprobaciones, detalle y audit trail, activación de reclutamiento, reportes con filtros y planeación de capacidad con reasignación.
  • Administración: cola financiera, detalle de salario y presupuesto, aprobación o rechazo final.
  • Coordinación / Reclutamiento: nueva requisición, borradores y estados, pipeline e historial de cada solicitud.
  • Acceso: pantalla de Google simulada. El botón permite entrar al prototipo; no realiza autenticación real.

El selector de rol del encabezado permite recorrer las tres experiencias mientras se valida el frontend.

Lógica representada

  • Flujo secuencial: Solicitante → RRHH → Administración → activación por Dirección de RRHH → reclutamiento.
  • El SLA inicia al enviar la requisición y separa tiempo de aprobación de tiempo de reclutamiento.
  • Solicitudes con varias vacantes generan IDs individuales dentro de un ID de grupo.
  • Solicitudes con fecha futura distante se evalúan como cumple / no cumple.
  • Semáforo SLA verde, amarillo y rojo.
  • Etapas: Búsqueda, 1.ª entrevista, 2.ª entrevista, Referencias, Exámenes médicos y Seleccionado.
  • Datos financieros ocultos para Coordinación.
  • Audit trail por requisición y notificaciones accionables.

Preparación para Supabase y n8n

El prototipo utiliza datos demostrativos compactos y sessionStorage para que todos los flujos sean navegables sin backend. El estado está centralizado en src/state/PortalContext.tsx; el contrato de sustitución se encuentra en src/services/portal-gateway.ts.

Al integrar el backend:

  1. Implementar PortalGateway con Supabase.
  2. Reemplazar las operaciones de PortalContext por llamadas al gateway.
  3. Resolver el rol desde la sesión de Google/Supabase y aplicar las políticas RLS equivalentes.
  4. Disparar webhooks de n8n después de enviar, aprobar, rechazar, activar, reasignar o cerrar.
  5. Sustituir los catálogos locales por tablas de países, ciudades, clientes, posiciones, feriados y SLA.

Variables sugeridas están documentadas en .env.example. Ninguna credencial debe incluirse en el repositorio.

Estructura

src/
  components/   Componentes de navegación, estados, modales y tableros
  data/         Catálogos y dataset demostrativo mínimo
  pages/        Vistas por función y rol
  services/     Contrato para la futura integración
  state/        Estado y acciones del prototipo
  types.ts      Modelo de dominio compartido
  utils.ts      Etiquetas, SLA, fechas y formato

El diseño usa Arial y la paleta oficial GLM: azul #4F758B, verde #6CC24A, acero #6B8FA3, naranja #FF6A13 y dorado #F0C75E.

S
Description
Portal para gestionar y dar seguimiento a las requisiciones de vacantes de RRHH.
Readme 690 KiB
Languages
TypeScript 63.5%
CSS 35.7%
HTML 0.4%
JavaScript 0.4%