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:
🔹 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:
🔹 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:
🔹 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:
🔹 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:
🔹 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:
🔹 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:
🔹 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
diagrama de audio en tiempo real
🔹 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:
🔹 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