ADM
Plataforma de datos de pruebas y trazabilidad de envíos para la línea de producción de un fabricante italiano de iluminación.
- Web App
- DevOps
Desafío
Los bancos de pruebas Schleich de la línea guardan la prueba de final de línea de cada luminaria como un archivo CSV en un recurso compartido de Windows. Recuperar el informe de una unidad suponía recorrer carpetas a mano, y los registros de envío se llevaban en listas separadas, sin ningún vínculo con las pruebas. El fabricante necesitaba que cada dispositivo probado fuera localizable y quedara ligado a su envío y a su operario, sin cambiar el funcionamiento de los bancos.
Solución
Construimos ADM como tres servicios NestJS en TypeScript que comparten una única base de datos. El parser recorre las carpetas de los bancos a intervalos configurables, lleva el registro de los archivos ya procesados e importa solo lo nuevo, guardando cada prueba hasta el paso individual con valores medidos, valores de consigna y tolerancias. Un segundo servicio sigue los dispositivos por número de serie, los agrupa en envíos y registra al operario, y un API gateway dirige las peticiones de la web app Angular al servicio correcto. El personal filtra por fecha, número de serie, programa o envío, abre el informe completo paso a paso de cualquier unidad y descarga la vista actual en CSV. Cada servicio está documentado con OpenAPI, se publica como imagen Docker desde la CI de GitLab y se despliega en un clúster Kubernetes de un solo nodo aprovisionado por playbooks de Ansible que además montan los recursos compartidos de los bancos e instalan una pila de logs Grafana Loki.
Resultado
Del primer commit a las versiones de producción en un mes: captura de pruebas, trazabilidad por unidad y seguimiento de envíos en una sola plataforma. El personal consulta el historial de pruebas completo de cualquier dispositivo por número de serie en lugar de rebuscar en las carpetas del recurso compartido, y el sistema sigue en uso en la línea del fabricante.
Sobre este proyecto
Cada luminaria que sale de la línea de montaje del cliente pasa por un banco de pruebas de final de línea: resistencia de aislamiento, continuidad del conductor de protección, prueba funcional con medición de potencia, una serie de inspecciones visuales. Los bancos guardan los resultados de cada unidad en archivos CSV en un recurso compartido de red. Datos precisos, pero en la práctica imposibles de consultar, y desconectados de los registros de envío que se llevan en otro sitio. Un fabricante italiano de iluminación pidió a LM DevStudio que convirtiera esos datos en algo que su personal pudiera usar de verdad.
ADM es la plataforma que construimos: tres servicios NestJS detrás de un API gateway y una web app Angular. Un parser vigila las carpetas donde los bancos escriben sus archivos y carga en la base de datos cada nuevo informe de prueba, hasta el paso individual con valores medidos y tolerancias. Un servicio de seguimiento agrupa los dispositivos probados en envíos y registra al operario que los gestionó. En la web app, el personal de producción encuentra el informe de prueba completo de cualquier unidad por número de serie, programa o fecha, y exporta CSV filtrados. Todo el sistema funciona en un clúster Kubernetes de un solo nodo sobre el hardware del fabricante, instalado y configurado de principio a fin con Ansible.
Herramientas utilizadas
- Angular
- NestJS
- SQLite
- Kubernetes
- Ansible