[{"data":1,"prerenderedAt":80},["ShallowReactive",2],{"$fpAfu2FfUW8o7Wb9RpPdn0p3lXsfQpKxBvspjY4v7KxA":3},{"id":4,"title":5,"body":6,"category":58,"challenge":59,"description":52,"extension":60,"featured":61,"image":62,"images":62,"impact":63,"meta":64,"navigation":65,"order":66,"path":67,"seo":68,"slug":69,"solution":70,"stem":71,"tagline":72,"tags":73,"testimonial":62,"testimonial_author":62,"testimonial_role":62,"url":62,"__hash__":79},"projects_es\u002Fprojects\u002Fes\u002Fphotobooth-platform.md","Plataforma de Fotomatón",{"type":7,"value":8,"toc":51},"minimark",[9,14,18,22,44,48],[10,11,13],"h2",{"id":12},"descripción-del-proyecto","Descripción del Proyecto",[15,16,17],"p",{},"Este proyecto consistió en reconstruir desde cero una plataforma de software para fotomatón para una empresa que alquila fotomatones — incluyendo hardware, personal, overlays personalizados y software — para eventos corporativos y ocasiones en vivo. El MVP existente apenas cumplía los requisitos mínimos y no era apto para uso real en eventos de alto volumen.",[10,19,21],{"id":20},"funcionalidades","Funcionalidades",[23,24,25,29,32,35,38,41],"ul",{},[26,27,28],"li",{},"Script Node.js que detecta nuevas imágenes de una tarjeta SD con WiFi en tiempo real",[26,30,31],{},"Backend Laravel para ingesta de imágenes, generación de miniaturas y composición de overlays",[26,33,34],{},"Notificaciones WebSocket que envían nuevas imágenes al frontend Vue al instante",[26,36,37],{},"Selección de overlay con previsualización renderizada en el backend (resolución optimizada)",[26,39,40],{},"Generación de imagen en resolución completa con overlay seleccionado al confirmar",[26,42,43],{},"Comando de impresión PHP enviado desde Laravel a la impresora del evento",[10,45,47],{"id":46},"aspectos-técnicos","Aspectos Técnicos",[15,49,50],{},"El reto principal era lograr reactividad en tiempo real sin polling. La combinación de un file watcher en Node.js y un broadcaster WebSocket en Laravel mantenía el frontend siempre actualizado en el momento en que una foto llegaba al disco. La generación de miniaturas en el backend era esencial para mantener el frontend ágil — cargar imágenes en resolución completa en un evento en vivo habría causado retrasos notables. El stack Laravel\u002FVue reemplazó una base de código PHP\u002FJS difícil de mantener con una aplicación limpia y estructurada lista para futuras extensiones.",{"title":52,"searchDepth":53,"depth":53,"links":54},"",2,[55,56,57],{"id":12,"depth":53,"text":13},{"id":20,"depth":53,"text":21},{"id":46,"depth":53,"text":47},"web-app","Una empresa de alquiler de fotomatones operaba un MVP en PHP y HTML\u002FJS sin framework, sin carga de imágenes en tiempo real y con un rendimiento inadecuado para eventos con alto volumen de fotografías. Las fotos recién tomadas no se mostraban en tiempo real, el código no era mantenible y al frontend le faltaba la reactividad necesaria para una experiencia fluida.","md",false,null,"La plataforma reemplazó un MVP frágil con una aplicación robusta y mantenible capaz de gestionar eventos de alto volumen. La entrega de imágenes en tiempo real y el despacho inmediato de impresión ofrecieron una experiencia fluida a operadores e invitados. El stack Laravel\u002FVue proporcionó una base limpia para desarrollo futuro.",{},true,5,"\u002Fprojects\u002Fes\u002Fphotobooth-platform",{"title":5,"description":52},"photobooth-platform","Reescribí la plataforma con un backend Laravel y frontend Vue.js. Un script Node.js escaneaba continuamente el disco de destino en busca de nuevas imágenes capturadas mediante una tarjeta SD con WiFi. Al detectarlas, notificaba al backend Laravel, que procesaba cada imagen — generando miniaturas para previsualización rápida y versiones con overlay para selección. Tras elegir foto y overlay, Laravel generaba la imagen final en resolución completa y enviaba un comando de impresión PHP directamente a la impresora conectada. El frontend recibía actualizaciones en tiempo real vía WebSocket, mostrando nuevas fotos al instante sin recargas manuales.","projects\u002Fes\u002Fphotobooth-platform","Procesamiento de fotos en tiempo real para eventos",[74,75,76,77,78],"Vue.js","Laravel","Node.js","WebSockets","PHP","A8turb3oWE27QFkMMp4MUDAw_Uk43VEjxE3mQutI67o",1775672746397]