Full Stack Developer en La Casa de las Carcasas2024 – actualidad
Una API de alta demanda entre los sistemas internos y Oracle NetSuite
Diseñé, y soy el desarrollador principal de, la API que mantiene sincronizados los sistemas internos de la empresa con Oracle NetSuite, su ERP, desde un maestro de más de 70.000 referencias hasta al menos 50.000 registros de ventas al día.
+50.000
registros de ventas al día sincronizados con NetSuite, con poco retraso
Contexto
La Casa de las Carcasas es una cadena de accesorios para móviles con más de 5.000 empleados, más de 1.200 tiendas en todo el mundo y almacenes en Europa y Latinoamérica. La empresa tiene en marcha un proyecto de ERP construido en torno a Oracle NetSuite.
Problema
Los sistemas internos y NetSuite tienen que compartir todo tipo de datos, y en gran volumen:
- El maestro de artículos: más de 70.000 referencias, sincronizadas de forma continua y bajo demanda.
- Las ventas: 1.200 tiendas vendiendo cada día, es decir, al menos 50.000 registros diarios que tienen que llegar con poco retraso.
- Los movimientos de stock: tienen que llegar a NetSuite en el orden cronológico correcto o el stock deja de cuadrar.
El orden en que se procesan los eventos importa para unos tipos de evento y para otros no.
Qué hice
- Diseñé la API de alta demanda que sincroniza los sistemas internos con NetSuite. Soy su desarrollador principal.
- La construí sobre Laravel Queues, Redis y Horizon.
- Hice que la ordenación FIFO sea configurable por tipo de evento, para que cada tipo se procese con las garantías que necesita.
- Coordiné cronológicamente los movimientos de stock para evitar descuadres en NetSuite.
- Contribuí a las integraciones con Snowflake dentro del mismo proyecto de ERP.
Resultado
- Más de 70.000 referencias del maestro sincronizadas de forma continua y bajo demanda.
- Al menos 50.000 registros de ventas al día de 1.200 tiendas, con poco retraso.
- Movimientos de stock coordinados cronológicamente para evitar descuadres.
- Una sola API para todo tipo de datos, con garantías de orden elegidas por tipo de evento.
Stack
Laravel, Laravel Queues, Redis, Horizon, Oracle NetSuite, Snowflake.
Qué aprendí
A trabajar con grandes volúmenes de datos sin renunciar ni al rendimiento ni a la visibilidad: un maestro de más de 70.000 referencias sincronizado de forma continua y bajo demanda, al menos 50.000 registros de ventas al día con poco retraso y movimientos de stock que tienen que llegar a NetSuite en el orden cronológico correcto para que no haya descuadres.
- Laravel
- Laravel Queues
- Redis
- Horizon
- Oracle NetSuite
- Snowflake