Volver a proyectos

Integración de órdenes web

Pasarela de pedidos en tiempo real que conecta plataformas de delivery con más de 300 POS de restaurantes.

Tipo
Integración backend
Rol
Developer en Emestudio
Año
2026-actualidad
Stack
  • Java 8
  • Maven
  • PostgreSQL
  • MSSQL
  • SoftRestaurant POS
Primer diagrama de flujo explicando cómo funcionan las integraciones.

Un sistema heredado que recibe pedidos de plataformas de delivery y los manda al POS SoftRestaurant de más de 300 restaurantes. Lo refactoricé, ordené sus logs y corregí errores que afectaban pedidos y tickets de cocina, todo con el sistema andando en producción.

La integración eran dos servicios Java heredados, uno que recibía los pedidos web y otro que los mandaba al POS, que con el tiempo se habían vuelto monolitos enredados. Los logs solo salían por consola, así que era difícil entender qué había pasado con un pedido. Había errores en la validación de pedidos, pedidos duplicados y fallas en la impresión de tickets de cocina. Y encima el contrato de la API estaba en vivo en más de 300 restaurantes, así que no se podía tocar.

Refactoricé las dos bases de código a una estructura MVC en capas y cambié la salida por consola por archivos de log estructurados que rotan solos. Con el código más fácil de seguir, corregí los errores de validación, duplicación e impresión de tickets de cocina, y rehíce los reintentos de envío para que sean idempotentes. El sistema trabaja con PostgreSQL y MSSQL y se comunica con el POS SoftRestaurant.

  • Refactor de dos servicios Java heredados a MVC en capas
  • Logs estructurados y rotativos en lugar de salida por consola
  • Correcciones en validación de pedidos, duplicación e impresión de tickets de cocina
  • Reintentos de envío idempotentes
  • Contrato de la API intacto en más de 300 restaurantes
  1. Refactorizar sin tocar el contrato

    El contrato de la API ya estaba en producción en más de 300 restaurantes. Reorganicé las dos bases de código en MVC por capas cuidando que cada pedido y cada respuesta siguieran exactamente iguales.

  2. Líneas de tickets que se duplicaban y desaparecían

    Rastreé un error sutil que duplicaba y borraba líneas de los tickets de cocina sin que nadie se diera cuenta. También rehíce los reintentos de envío para que sean idempotentes, así repetir uno nunca procesa el mismo pedido dos veces.

  • Errores de validación, duplicación e impresión de tickets de cocina corregidos en producción
  • Refactor en producción sin romper el contrato en vivo en más de 300 restaurantes
  • Menos pedidos perdidos

¿Tenés un proyecto o una búsqueda en mente?

Hablemos

Siguiente proyecto

App de escritorio + servicio de Windows

Orbit Watchdog

App para Windows que vigila bases de datos, sitios, discos y backups, y reinicia servicios sola.