Planeación - code-mirror-arsw/code_mirror_front GitHub Wiki

🧠 Gestión Ágil del Proyecto – Metodología Scrum

Este proyecto se desarrolla bajo la metodología Scrum, enfocada en la entrega iterativa e incremental de valor. se va a trabajar en ciclos definidos llamados sprints, cada uno con entregables funcionales y validación continua.


🧩 Épicas

Las historias de usuario han sido organizadas en épicas para facilitar la planificación y visualización de funcionalidades relacionadas. Cada épica agrupa una serie de historias con un objetivo común.

Épica Descripción
🛡️ Autenticación y Seguridad Control de acceso, roles, sesiones, y manejo de identidad.
📢 Gestión de Ofertas Creación, visualización, y postulación de ofertas laborales.
🎥 Entrevistas Grupales Gestión, programación y ejecución de entrevistas colaborativas.
📨 Notificaciones y Seguimiento Comunicación por correo de eventos relevantes.
👨‍💻 Evaluación Técnica Evaluación automatizada y visualización del perfil del candidato.

🗓️ Planificación de Sprints

El proyecto se divide en 3 sprints de 3 semanas cada uno:

Sprint Estado Objetivo principal
Sprint 1 ✅ Finalizado Login, publicación de ofertas, postulaciones.
Sprint 2 🔄 En progreso Entrevistas grupales, sala colaborativa y notificaciones.
Sprint 3 ⏳ Pendiente Evaluación automática y mejoras técnicas finales.

🧩 Épicas y sus Historias de Usuario

🛡️ Épica: Autenticación y Seguridad

  • Historia #1: Login con roles diferenciados
  • Historia #8: Acceder a sala privada

📢 Épica: Gestión de Ofertas

  • Historia #2: Publicar una oferta
  • Historia #3: Visualizar nuevas ofertas en tiempo real
  • Historia #4: Postularse a una oferta
  • Historia #5: Aceptar candidatos y agruparlos
  • Historia #6: Filtro automático de candidatos según perfil

🎥 Épica: Entrevistas Grupales

  • Historia #7: Programar entrevistas
  • Historia #9: Sala colaborativa con código y audio en tiempo real

📨 Épica: Notificaciones y Seguimiento

  • Historia #10: Envío de notificaciones automáticas

👨‍💻 Épica: Evaluación Técnica

  • Historia #11: Evaluar automáticamente el código
  • Historia #12: Visualizar el perfil técnico del candidato

✅ Criterios de Calidad

  • Todas las historias están cubiertas con criterios de aceptación verificables.
  • Las funcionalidades están priorizadas por valor al usuario.
  • Los entregables de cada sprint son funcionales y probados.
  • Se utilizan tokens JWT, validación por rol, restricciones por horario y enlaces encriptados.
  • Cada microservicio solo acepta solicitudes del API Gateway.

🛠️ Herramientas y Proceso

  • Seguimiento en Azure devops.
  • Planificación de sprint y retrospectiva cada 3 semanas.
  • Pull Requests con revisión obligatoria y pruebas unitarias.

descripcion de cada historia de usuario

🧠 Historias de Usuario


🔹 Historia #1: Login con roles diferenciados

Como usuario del sistema
Quiero iniciar sesión según mi rol (entrevistador o entrevistado)
Para acceder a las funcionalidades específicas de mi perfil

Criterios de aceptación:

  • Formulario de login con campos de email y contraseña.
  • El sistema debe identificar automáticamente el rol del usuario al iniciar sesión.
  • Redirección al dashboard correspondiente según el rol.
  • Mensajes de error claros para credenciales incorrectas o inexistentes.
  • Autenticación segura (por ejemplo, token JWT o sesiones cifradas).
  • No permitir el acceso a funcionalidades fuera del rol del usuario autenticado.

Diagrama:

image


🔹 Historia #2 ‑ Creación / actualización de perfil técnico (CV parsing)

Como candidato
Quiero subir mi hoja de vida Para generar y almacenar automáticamente mi perfil técnico en la plataforma

Criterios de aceptación

  • Carga de CV en PDF
  • Envío del documento a ChatGPT para extraer: habilidades, años de experiencia, nivel académico
  • Persiste un registro PerfilTécnico vinculado al usuario
  • Opción de revisar

diagrama:

image


🔹 Historia #3: Publicar una oferta

Como entrevistador
Quiero poder crear una oferta de trabajo
Para que los candidatos puedan postularse

Criterios de aceptación:

  • Formulario para crear oferta con campos requeridos.
  • Oferta visible públicamente para usuarios autenticados.
  • La oferta debe permitir número máximo de postulantes.

diagrama:

image


🔹 Historia #4: Visualizar nuevas ofertas

Como entrevistado
Quiero ver las nuevas ofertas que publican los entrevistadores
Para poder postularme rápidamente a oportunidades relevantes

Criterios de aceptación:

  • Visualización automática de nuevas ofertas.
  • Las ofertas deben incluir título, descripción y límite de postulantes.
  • Las ofertas nuevas deben destacarse temporalmente

diagrama:

image


🔹 Historia #5 ‑ Postularse a una oferta con pre‑calificación IA

Como candidato
Quiero postularme y obtener una respuesta inmediata de “Aplica / No aplica”
Para saber si continúo en el proceso

Criterios de aceptación

  • Mostrar justificación
  • Registro de la evaluación
  • No permitir repostularse si la oferta está cerrada o sin cupo

🔹 Historia #6: Aceptar candidatos y agruparlos

Como entrevistador
Quiero aceptar postulantes y agruparlos automáticamente
Para organizar entrevistas de manera eficiente

Criterios de aceptación:

  • Lista de candidatos postulados.
  • Botón para aceptar postulantes.
  • Agrupación automática por bloques de 4 (o cantidad definida).

diagrama:

image


🔹 Historia #7: Programar entrevistas

Como entrevistador
Quiero programar fecha y hora para entrevistas grupales
Para asegurar la organización de las sesiones

Criterios de aceptación:

  • Selección de fechas y horarios.
  • Asignación de grupo a un horario específico.
  • Envío de notificación a los participantes.

diagrama:

image


🔹 Historia #8: Acceder a sala privada

Como candidato aceptado
Quiero acceder a una sala privada de entrevista
Para participar en la sesión asignada

Criterios de aceptación:

  • Link único por sala/grupo generado automáticamente.
  • Acceso limitado solo a los miembros de la sala.
  • Restricción por horario de sesión.

diagrama:

image

🔹 Historia #9: Sala colaborativa con código y audio en tiempo real

Como entrevistador
Quiero interactuar con candidatos en una sala virtual con código y audio en tiempo real
Para evaluar habilidades técnicas de forma grupal y dinámica

Criterios de aceptación:

  • Editor colaborativo funcional en la sala.
  • Transmisión de audio grupal con WebRTC.
  • Interfaz fluida para todos los miembros.
  • Sesión segura y moderable por el entrevistador.

diagrama de texto en tiempo real

image

diagrama de audio en tiempo real

image


🔹 Historia #10: Envío de notificaciones automáticas

Como sistema
Quiero enviar notificaciones por correo en eventos importantes
Para mantener informados a los usuarios

Criterios de aceptación:

  • Enviar correos de aceptación y rechazo.
  • Confirmación de registro y postulación.

diagrama:

image


🔹 Historia #11 ‑ Evaluación automática de código con ChatGPT

Como entrevistador
Quiero que el sistema ejecute y valide el código que envían los candidatos con ayuda de ChatGPT
Para recibir feedback inmediato y objetivo

Criterios de aceptación

  • Envío de snippets desde el editor colaborativo
  • Envío del resultado a ChatGPT para análisis cualitativo
  • Mostrar feedback detallado al entrevistador
  • Almacenar informe en la oferta y vincularlo al candidato

🔹 Historia #12: Visualizar el perfil técnico del candidato

Como entrevistador
Quiero consultar el perfil técnico de los candidatos
Para tomar decisiones informadas durante la selección

Criterios de aceptación:

  • Acceso directo a CV.
  • Vista organizada y clara del perfil.
  • Posibilidad de descargar o guardar el perfil.

Planeación en azure devops

https://dev.azure.com/santiagocoronado-p/code%20mirror/_settings/serviceHooks