Contexto
Trabajo de fin de máster del Máster Universitario en Ingeniería Informática de la Universidade da Coruña. Los datos de desarrollo estaban repartidos entre GitHub y Bitbucket, y hacía falta medir el impacto de los asistentes de programación con IA en el trabajo de los equipos.
Enfoque
- Sincronización. Un motor independiente, organizado en puertos y adaptadores, que hace sincronizaciones incrementales y completas, registra el estado de cada ejecución, reintenta los fallos y limita la concurrencia. Las identidades de las distintas fuentes se resuelven a partir del correo electrónico.
- API. Una API en Express organizada en vertical slices, con autenticación corporativa (SSO/JWT) y documentación en Swagger, que calcula métricas de PR, commits y actividad semanal.
- Cuadros de mando. Una aplicación en Next.js con un panel de adopción de IA (usuarios activos de Copilot, prompts y líneas sugeridas frente a aceptadas) y otro de la organización (equipos, repositorios y personas), con umbrales de KPI configurables y comparación entre periodos.
- Despliegue. Todos los servicios se empaquetan con Docker.
Resultado
Una herramienta completa, de la ingesta a la visualización, que reúne en un solo lugar la actividad de desarrollo de dos plataformas y el uso de los asistentes de IA. El proyecto sirvió para aplicar una arquitectura de puertos y adaptadores en un sistema con varias fuentes de datos y para diseñar indicadores que se puedan comparar de un periodo a otro.