Saltar al contenido
Volver a proyectos
En producción

Plataforma de Evaluación de CVs

ASOMMMN

Periodo: Jun. 2026 – Presente

Plataforma full-stack en producción que digitaliza la evaluación de CVs de una asociación nacional de oficiales de la marina mercante: autenticación JWT, control de acceso por roles y backend con REST API.

Galería

reclutamiento-asommmn.netlify.app

// Problema

  • La asociación evaluaba los CVs de sus aspirantes de forma completamente manual: documentos dispersos, revisión uno a uno y sin un registro central del estado de cada solicitud.
  • Se necesitaba una plataforma donde los aspirantes subieran su información y los evaluadores la revisaran desde un solo lugar, con acceso controlado a datos sensibles.

// Mi rol

  • Desarrollador full-stack único del proyecto (servicio social): arquitectura, frontend, backend, API, base de datos y despliegue.
  • Diseño de la lógica de negocio para usuarios, currículums y evaluaciones.

// Arquitectura

Arquitectura: Plataforma de Evaluación de CVsCLIENTESERVICIOSDATOSReact SPAPostulante · Evaluador · AdminNetlifyHosting del frontend + CDNREST API · Node.jsAuth JWT + middleware de rolesMongoDBUsuarios, CVs, evaluacionesAsistente IA[COMPLETAR: proveedor / modelo]HTTPSREST + Bearer JWTconsultasrevisión de documentos
  • Cliente: React SPA (Postulante · Evaluador · Admin)
  • Servicios: Netlify (Hosting del frontend + CDN)
  • Servicios: REST API · Node.js (Auth JWT + middleware de roles)
  • Datos: MongoDB (Usuarios, CVs, evaluaciones)
  • Datos: Asistente IA ([COMPLETAR: proveedor / modelo])
  • React SPA → Netlify: HTTPS
  • React SPA → REST API · Node.js: REST + Bearer JWT
  • REST API · Node.js → MongoDB: consultas
  • REST API · Node.js → Asistente IA: revisión de documentos
El frontend se sirve desde Netlify; cada petición a la API lleva un JWT y pasa por un middleware que valida el rol antes de tocar la base de datos. Hosting del backend: [COMPLETAR: dónde corre la API].

// Decisiones técnicas y trade-offs

JWT sin estado en lugar de sesiones en servidor

La API no guarda sesiones: cada petición se valida con el token, lo que simplifica el despliegue del backend por separado del frontend. Trade-off: revocar un token antes de que expire requiere expiración corta o lista de revocación.

Control de acceso por roles en el backend

Los permisos de postulante, evaluador y administrador se validan en la API, no solo ocultando botones en la interfaz: el frontend no es una frontera de seguridad.

MongoDB para expedientes de forma variable

Cada CV y evaluación es un documento con campos que pueden variar entre aspirantes; el modelo de documentos evita migraciones rígidas mientras el proceso se ajusta con la institución. Trade-off: la integridad entre colecciones se valida en la capa de aplicación.

// Seguridad

  • Autenticación con JWT y manejo seguro de sesiones.
  • Autorización por rol en cada endpoint de la API.
  • Datos sensibles de aspirantes y evaluadores accesibles solo para roles autorizados.
  • [COMPLETAR: hash de contraseñas (¿bcrypt/argon2?), expiración de tokens y validación de archivos subidos]

// Resultado e impacto

  • El proceso de evaluación de CVs pasó de completamente manual a digital, en producción y usado por evaluadores reales.
  • [COMPLETAR: número de aspirantes / evaluaciones procesadas o tiempo de revisión antes vs. después]

// Stack

  • React
  • Node.js
  • MongoDB
  • JWT
  • REST API