Esta hoja de ruta define el plan de ejecución de EXPERTECH CV como proyecto del módulo de JavaScript del bootcamp y como base evolutiva de la iniciativa EXPERTECH.
Nota documental:
- este archivo se mantiene como hoja de ruta amplia y referencia estratégica
- para el estado operativo real del repositorio conviene usar primero
README.md,docs/roadmap.mdydocs/evidencias.md
La visión global del producto es:
- EXPERTECH CV: generador de currículum web interactivo para perfiles tech.
- EXPERTECH JOB: evolución futura con backend, base de datos y funcionalidades para recruiters.
El alcance de esta fase se alinea con el objetivo actual del repositorio: construir una primera versión funcional que permita estructurar, editar y presentar un CV digital de forma sencilla, dejando una base sólida para futuras mejoras.
main→ rama estable y publicable.dev→ rama de integración.feature/*→ ramas de trabajo por funcionalidad.
maincrea y protege la base estable.devparte demain.- Cada
feature/*parte dedev. - Cada feature se implementa, valida y documenta en su rama.
- Al terminar una feature:
- merge a
dev - validación de integración
- actualización de roadmap o documentación si aplica
- merge a
- Solo cuando un bloque funcional esté estable,
devse integra enmain.
feature/project-setupfeature/layout-basefeature/domain-modelfeature/local-storagefeature/editor-profilefeature/live-previewfeature/github-integrationfeature/projects-visualizationfeature/login-screenfeature/github-project-sourcesfeature/export-pdf-qrfeature/github-pages-public-previewfeature/polish-accessibilityfeature/documentacion-final
Cada feature se trabajará en un chat separado, con este flujo:
- enlace al repo
- esta hoja de ruta
- objetivo exacto de la feature
- rama de trabajo
- estado actual del proyecto
- restricciones de alcance
- plan breve de implementación
- checklist de validación
- estructura o cambios esperados
- criterios de aceptación
- riesgos y límites
- informe final de cierre de feature
Cada chat debe centrarse solo en la feature activa. No debe abrir trabajo de otras features salvo dependencias mínimas claramente justificadas.
Construir una aplicación web que permita a un perfil tech:
- introducir y editar sus datos profesionales
- importar información básica desde GitHub
- seleccionar proyectos relevantes
- visualizar un CV web interactivo en tiempo real
- guardar el estado en
localStorage - exportar un resumen en PDF
- generar una presentación clara para recruiters
- autenticación real
- base de datos
- panel recruiter multiusuario
- buscador real de candidatos
- URLs públicas persistentes por usuario
- backend
- Docker
- despliegue full-stack
feature/project-setup
Dejar una base limpia de proyecto, estructura de carpetas, documentación mínima y flujo Git preparado.
- estructura inicial de carpetas
.gitignoreREADME.mdbase- carpeta
docs/ - normalización del arranque del proyecto
- validación del flujo
main→dev→feature/*
- repositorio base ordenado
- roadmap añadido al proyecto
- criterios de trabajo definidos
El repo se puede clonar, entender y arrancar como base de trabajo sin ambigüedad.
feature/layout-base
Construir la maqueta base del producto con enfoque editor + preview.
- layout principal
- cabecera
- columna de edición
- columna de vista previa
- zonas reservadas para perfil, proyectos y exportación
- adaptación móvil/tablet/escritorio
- jerarquía visual clara
- estructura limpia sin lógica compleja todavía
- HTML semántico base
- CSS base del layout
- estructura visual navegable
La app se entiende visualmente y la arquitectura UI está preparada para conectar la lógica.
feature/domain-modelfeature/local-storage
Definir el núcleo de datos del proyecto y dejar listo el almacenamiento local.
Entidades previstas:
CandidateProfileProjectPortfolioCV
Servicios previstos:
StorageService
- guardar estado del CV
- recuperar datos al recargar
- reset controlado
- estructura estable de datos
- contrato de datos definido
- estructura lista para evolución
- persistencia real en
localStorage
El proyecto mantiene datos al refrescar y la estructura es consistente.
feature/editor-profile
Permitir que el usuario edite la información principal del CV desde la interfaz.
- nombre
- rol
- bio o resumen profesional
- teléfono
- ubicación
- GitHub
- experiencia
- formación
- skills
- proyectos manuales
- formulario funcional
- validaciones básicas
- actualización del estado interno
El usuario puede introducir y editar su información sin recargar la página.
feature/live-preview
Reflejar en tiempo real los cambios del editor en una vista recruiter-friendly.
- perfil
- resumen
- skills
- proyectos
- experiencia y formación
- vista más limpia
- ocultar controles de edición
- priorizar lectura rápida y claridad
- preview funcional
- render reactivo manual
- separación clara editor / preview
Todo cambio relevante se refleja en la preview sin recarga.
feature/github-integration
Traer datos útiles del perfil técnico desde GitHub para enriquecer el CV.
- consulta por nombre de usuario
- avatar
- nombre visible
- bio
- enlace al perfil
- lista de repositorios públicos
- selección de proyectos a mostrar
- orden básico o filtro sencillo
- manejo de estados: loading, error, no results
- integración con
fetch - datos reales pintados en UI
- selección manual de repos destacados
La app obtiene datos de GitHub y el usuario puede incorporarlos al CV.
- múltiples cuentas GitHub
- repositorios de otros owners o atribución avanzada
- colaboraciones
- OAuth o autenticación GitHub
feature/projects-visualization
Mejorar la lectura del portfolio para recruiters y cumplir el requisito de visualización de datos.
- filtro por nombre
- filtro por stack o lenguaje
- selección de proyectos destacados
Opciones válidas:
- lista enriquecida
- tabla de proyectos
- contador por tecnologías
- gráfico simple de stacks
- visualización clara de proyectos
- filtro funcional
- jerarquía de información útil para recruiter
Los proyectos se pueden explorar y entender rápidamente.
feature/login-screen
Preparar una pantalla de acceso clara y una base de identidad de usuario dentro del producto sin obligar todavía a resolver autenticación externa compleja.
- pantalla de entrada o acceso
- microcopy claro sobre el valor del producto
- estructura preparada para un futuro flujo de identidad
- separación limpia respecto a la integración GitHub actual
- pantalla de acceso coherente con el producto
- base visual y funcional para la futura identidad de usuario
- documentación clara de límites de esta fase
El proyecto dispone de una pantalla de acceso comprensible y lista para soportar evolución posterior sin introducir todavía autenticación compleja.
feature/github-project-sources
Ampliar la integración GitHub para soportar mejor varias cuentas, repositorios de otros owners, colaboraciones y atribución clara del origen del proyecto.
- soporte documental y técnico para múltiples orígenes GitHub
- diferenciación entre repos propios y externos
- reglas de atribución del origen del proyecto
- base para ampliación futura sin prometer todavía OAuth
- estrategia clara de orígenes GitHub ampliados
- UI y estado preparados para distinguir fuentes de proyecto
- atribución visible y comprensible dentro del producto
El sistema puede representar con más claridad de dónde viene cada proyecto GitHub sin depender aún de autenticación avanzada.
feature/export-pdf-qr
Cerrar el caso de uso práctico para entrevista o envío por email.
- versión resumen de una página
- salida limpia y legible
- enfoque recruiter
- QR que apunte a la versión publicada
- integración visual en el CV exportable
- mensaje claro de uso
- exportación funcional
- CV resumen descargable
- QR visible y útil
El usuario puede generar un CV corto presentable con acceso a la versión web.
feature/github-pages-public-preview
Simular una publicación pública real del CV sin backend ni base de datos.
La base de esta feature ya está construida en forma de demo pública estática:
public.htmljs/public.jsjs/application/PublicPageRuntime.jsjs/services/PublicCVDataService.jsdata/public-cv.json
Queda pendiente el cierre con despliegue real en GitHub Pages y QR apuntando a esa URL.
- despliegue estático en GitHub Pages
- datos públicos de demo preparados para esa versión
- URL pública de demostración
- QR apuntando a la URL de GitHub Pages
- revisión básica del flujo de acceso público
- demo pública estática accesible por URL
- QR funcional de demostración
- separación clara entre vista local y demo pública desplegada
El proyecto puede enseñar una simulación pública realista del CV sin depender del localStorage del navegador local.
feature/polish-accessibility
Mejorar robustez, claridad y presentación final del MVP.
- mensajes vacíos y errores
- estados de carga
- responsive final
- revisión visual
- accesibilidad básica
- consistencia de textos
- modo oscuro
- pequeñas mejoras estéticas de bajo riesgo
- app más sólida y presentable
- reducción de errores de uso
- mejor experiencia final
El MVP se puede enseñar y probar con confianza.
feature/documentacion-final
Dejar el proyecto listo para revisión académica y portfolio.
README.mdfinal- memoria técnica
- capturas
- bitácora breve de decisiones
- guía de demo
- checklist de entrega
- documentación completa
- explicación técnica del proyecto
- material para presentación
El proyecto se puede entregar, explicar y defender con claridad.
- Feature 0 · Preparación del proyecto
- Feature 1 · Layout base y arquitectura visual
- Feature 2 · Modelo de dominio y persistencia local
- Feature 3 · Editor del perfil y formularios dinámicos
- Feature 4 · Vista previa en vivo del CV
- Feature 5 · Integración pública básica con GitHub API
- Feature 6 · Gestión de proyectos y visualización
- Feature 7 · Pantalla de acceso
- Feature 8 · Fuentes avanzadas de proyectos GitHub
- Feature 9 · Exportación PDF y QR
- Feature 10 · Vista pública demo en GitHub Pages
- Feature 11 · Pulido, accesibilidad y estados UX
- Feature 12 · Documentación y entrega
Una feature se considerará cerrada cuando cumpla:
- objetivo funcional alcanzado
- alcance respetado
- cambios integrados sin romper flujo previo
- validación manual realizada
- checklist de cierre cumplido
- informe final de feature generado
- propuesta clara de siguiente paso
Cada chat de feature deberá devolver un informe final con:
- Resumen de lo realizado
- Archivos afectados
- Validaciones realizadas
- Riesgos o deuda pendiente
- Qué no se ha tocado
- Recomendación para la siguiente feature
Persistir currículums, proyectos y configuraciones fuera del navegador.
db/schema-designdb/candidate-profile-persistencedb/project-catalogdb/cv-versioning
- modelo de datos formal
- persistencia real
- base para multiusuario futuro
Convertir EXPERTECH CV en una aplicación con API y preparar la transición a EXPERTECH JOB.
backend/api-foundationbackend/authenticationbackend/cv-crudbackend/public-profile-routesbackend/recruiter-search-base
- API para perfiles y CVs
- autenticación de usuario
- rutas públicas y privadas
- base funcional de la futura parte recruiter
Contenerizar frontend, backend y base de datos para entorno reproducible.
docker/frontend-containerdocker/backend-containerdocker/database-containerdocker/local-orchestration
- entorno local consistente
- despliegue más predecible
- base para DevOps
Desplegar una versión profesional y automatizada del producto.
devops/ci-pipelinedevops/cd-stagingdevops/production-deploydevops/monitoring-loggingdevops/domain-https
- integración continua
- despliegue automático
- entorno staging y producción
- observabilidad básica
Evolucionar de generador de CV a plataforma de visibilidad y búsqueda de talento tech.
job/recruiter-dashboardjob/candidate-searchjob/filter-by-stackjob/public-candidate-pagesjob/matching-and-bookmarks
- recruiters consultando perfiles
- candidatos accesibles por criterios útiles
- inicio real de la plataforma global
EXPERTECH
Querer construir EXPERTECH CV y EXPERTECH JOB a la vez.
No separar datos, servicios y UI.
La integración debe enriquecer el CV, no bloquear todo el proyecto.
Primero funcionalidad, luego refinado visual.
La documentación debe construirse durante el proceso, no solo al cierre.
A partir de esta hoja de ruta:
- se abrirá un chat específico por feature
- ese chat trabajará solo sobre la rama y alcance asignados
- al cerrar la feature devolverá un informe final
- ese informe se validará en el chat maestro
- solo entonces se pasará a la siguiente feature
La primera meta no es construir toda la plataforma EXPERTECH, sino cerrar un MVP fuerte y defendible de EXPERTECH CV que:
- cumpla el proyecto del módulo JavaScript
- sea presentable en revisión académica
- se pueda enseñar en portfolio
- sirva como base real para módulos posteriores de bases de datos, backend, Docker y DevOps
La hoja de ruta queda dividida en features pequeñas o medianas, con sprints internos cuando la complejidad lo requiere, para mantener control de alcance, calidad y trazabilidad.