Soporte al Equipo de Desarrollo
en Redime.

Construí la herramienta interna con la que el equipo de Trade Marketing de Redime imprimía códigos QR: se sube una imagen, se eligen tamaño, disposición y número de copias, y se descarga un PDF listo para imprimir. Mi primera herramienta usada a diario por gente ajena al código, donde contaban los detalles poco vistosos: medidas exactas, cantidades y guías de corte.

Tech-stack que usé en este rol

Retos que enfrenté

  • Un stack que debía caber en el servidor: El proyecto estaba montado para PHP 8.1 y un Laravel más nuevo, mientras el servidor interno aún corría la 7.4.

  • Tamaños exactos: Un código QR impreso muy pequeño no se puede escanear, así que la herramienta debía redimensionar a los centímetros que pedía el equipo.

  • Una imagen, muchas impresiones: Un mismo trabajo podía mezclar tamaños, y cada tamaño necesitaba su propia cantidad de copias en la hoja.

  • Un servidor sin nadie mirándolo: Las imágenes subidas y los PDF generados se acumulaban en disco y nadie se acordaba de limpiarlos a mano.

  • Cortar el papel a mano: El equipo imprimía en hojas simples, así que quien tomaba las tijeras necesitaba una guía.

Logros

  • Funcionando donde trabajaba el equipo. Pasé el proyecto de PHP 8.1 a 7.4 y de Vite a Laravel Mix para poder desplegarlo en el servidor interno.

  • Cualquier tamaño, cualquier cantidad. Tamaños personalizados en centímetros y hasta 100 copias del mismo código en un solo trabajo.

  • Listo para imprimir y cortar. Las guías punteadas alrededor de cada código convertían el PDF en una hoja que el equipo recortaba de una pasada.

  • El disco se limpia solo. Cada conversión elimina las imágenes y los PDF antiguos, así el servidor nunca se llena con trabajos de ayer.

  • Medidas que coinciden con el papel. Ajusté el redimensionado y los márgenes de impresión hasta que la salida midiera lo que el equipo había elegido.

De imagen a hoja impresa

La herramienta de impresión, de punta a puntaUna persona elige una imagen, su tamaño, la cantidad de copias y la disposición; la app en Laravel la guarda, la vuelve a leer y renderiza cada copia a centímetros exactos, para devolver una hoja PDF lista para imprimir con guías de corte. Los archivos antiguos se borran en cada conversión.FormularioimagentamañocopiasdisposiciónEndpoint de subidapng · jpg · nombre únicoArchivos temporalesuploadsImg · uploadsPdfse borran al convertirEndpoint de conversiónagrupa tamaños y copias× Nguías de corte8.5 cmHoja PDFpublic/uploadsPdfcm exactos

Mi enfoque

  • Los mínimos pasos para quien la usa: Subir, elegir tamaño y disposición, elegir cuántas copias, convertir. Nada más que aprender.

  • El PDF es el producto: La vista previa en pantalla ayuda hasta cierto punto, así que probaba tamaños y márgenes sobre una impresión real.

  • Mantener el stack simple:

    • Controladores en Laravel, uno para la subida y otro para la conversión, cada uno con una sola tarea.
    • Blade y Bootstrap para el formulario, JavaScript plano para tamaños, copias y disposición.
    • Intervention Image para el redimensionado y DomPDF para la hoja final.
  • Dejar el servidor ordenado: Los archivos temporales se borran con un temporizador corto, sin dejar trabajo para la siguiente persona.