Sistema de gestión de tótems de autoservicio
Gestión de tótems de autoservicio que corre en más de 150 terminales de reconocidas cadenas de comida de Uruguay.
Resumen
Una app de escritorio hecha con Electron y Node.js para gestionar productos, grupos e imágenes de tótems de autoservicio. Está andando en más de 150 terminales activas de reconocidas cadenas de restaurantes de Uruguay.
El problema
Cambiar lo que mostraba un tótem era un trabajo manual. Actualizar un producto, un precio o una imagen pasaba por soporte, y cada cliente nuevo había que configurarlo a mano antes de que sus tótems estuvieran listos. Eso hacía lenta la incorporación de clientes y tenía al equipo ocupado con cambios chicos de menú.
Qué hice
Hice una app de escritorio en Electron con un backend en Node.js y Express sobre la base MS SQL que ya existía, usando Sequelize para la capa de datos. Desde un solo lugar el equipo gestiona productos y grupos, actualiza precios y personaliza lo que muestra el tótem. Las imágenes se procesan con Sharp y las sirve un servidor aparte que compilé como binario independiente con pkg.
Lo más importante
- Gestión de productos, grupos e imágenes para tótems de autoservicio
- Actualización de precios y personalización de la interfaz desde la app
- Procesamiento de imágenes con Sharp
- Servidor de imágenes compilado con pkg para que corra solo, sin depender de Electron
- Capa de datos pensada para un esquema de producción que no se podía cambiar
Desafíos
Un servidor de imágenes que sobrevive a la app
Los tótems necesitan sus imágenes aunque la app de escritorio esté cerrada. Saqué el servidor de imágenes de Electron y lo compilé como un binario independiente con pkg, así sigue sirviendo pase lo que pase con la app.
Una base de producción congelada
El esquema de producción estaba fijo y no tenía permisos para correr migraciones. Toda la capa de datos la tuve que diseñar alrededor de una estructura que no podía tocar, adaptando lo que la app necesitaba a lo que ya existía.
Galería


Resultados
- Desplegado en más de 150 terminales activas de reconocidas cadenas de restaurantes de Uruguay
- Unas 5 horas por semana ahorradas al eliminar actualizaciones manuales
- Los cambios de menú ya no necesitan una llamada a soporte
- Incorporación de clientes nuevos más rápida
¿Tenés un proyecto o una búsqueda en mente?
HablemosSiguiente proyecto
App web full stack
ZipLink
Acortador de URLs full stack con Next.js y Node.js, con analíticas por dispositivo, país y origen.