Estudio de caso / Sistemas empresariales · Logística
AMXpress Platform
Una operación logística, conectada de extremo a extremo.
Plataforma logística que conecta administración, clientes y flujos de repartidores mediante APIs, integraciones y procesamiento asíncrono.
Demo con datos de muestra; sin datos reales de clientes ni envíos.
- Tecnologías utilizadas
- Angular · NestJS · TypeScript · PostgreSQL · Prisma · Redis · BullMQ · Resend · Linux
El producto en pantalla
Capturas de la aplicación



El problema
La operación necesita seguir envíos y bultos, importar información y coordinar clientes y repartidores mientras continúa utilizando un sistema legacy. El reto es incorporar nuevas herramientas sin perder trazabilidad ni interrumpir los flujos existentes.
Mi participación
Desarrollo full-stack de APIs NestJS, modelos PostgreSQL/Prisma y aplicaciones Angular por rol. Implemento integraciones, sincronización, importaciones y etiquetas, junto con servicios independientes y configuración operativa de despliegue.
Qué permite hacer
Operar y seguir envíos
Panel administrativo, portal de clientes y flujos móviles para repartidores. Envíos, bultos, estados e historial operativo, con tracking público y eventos que actualizan las vistas.
Conectar sistemas y clientes
Integración con Mercado Libre, sincronización legacy y APIs B2B con tokens, scopes y auditoría. Autenticación JWT, roles y permisos delimitan el acceso a la información.
Procesar trabajo operativo
Importaciones masivas y generación de etiquetas PDF/ZPL. Workers de importación, lotes de etiquetas y sincronización separan el trabajo prolongado de las peticiones HTTP.
Cómo encajan las piezas
Core concentra el dominio y las APIs REST sobre PostgreSQL. Angular presenta las vistas por rol; Redis coordina colas BullMQ y eventos. Sync Service adapta el contrato legacy. Notification Service conserva sus propias responsabilidades de comunicación. La topología combina servicios Node, proxy HTTPS y componentes Docker donde corresponde; no presupone que toda la operación histórica haya migrado al nuevo Core.
- Admin / Portal / móvilREST · JWT · rolesCore API
- Core APIPrisma · envíos y bultosPostgreSQL
- Core → BullMQRedis · workers · eventosSync → Legacy
- Core / LegacyHTTP interno / consulta programadaNotifications → Resend
Decisiones de ingeniería
Core como dominio compartido, servicios especializados
Envíos, bultos e historial necesitan una representación común para las aplicaciones y las APIs. Concentro ese dominio en Core y separo la adaptación legacy y las comunicaciones en servicios propios. Así las interfaces comparten reglas sin asumir los contratos externos ni exigir una sustitución completa del sistema anterior.
Acceso delimitado por actor y cliente
Una operación administrativa y una integración B2B no tienen los mismos permisos. JWT, roles y permisos protegen las aplicaciones; tokens revocables, scopes y auditoría delimitan las APIs B2B. Las consultas se acotan al cliente autenticado, evitando que un identificador de envío conceda acceso por sí solo.
Integraciones como procesos recuperables
Imports, etiquetas y sincronización dependen de trabajo prolongado y proveedores que pueden fallar. Mantengo contratos y credenciales en backend, y ejecuto el trabajo mediante workers con estados y resultados persistidos. Esto permite seguir errores parciales y recuperar operaciones sin confundir una petición aceptada con un trabajo terminado.
Dificultades resueltas
Convivir con dos modelos operativos
El legacy y Core representan identidades, estados e historial de manera distinta. La adaptación normaliza esos contratos y reconcilia registros, conservando la operación existente durante la transición. Legacy Sync explica las garantías de repetición y los límites del proveedor.
Hacer visible el trabajo asíncrono
Encolar no significa completar. El sistema distingue estado del job, errores y finalización; los eventos permiten releer los datos locales sin presentar un timeout como una sincronización exitosa.
Capacidades demostrables
Uso empresarial recurrente
Uso empresarial real, sin atribuir al nuevo Core el volumen histórico de la compañía.
Operación e integraciones verificables
Las aplicaciones comparten modelos y controles de acceso. Pruebas de permisos, sincronización, imports y etiquetas ejercitan los límites entre petición, procesamiento y resultado.