Skip to content

Getting Started

El proyecto sigue principios de Clean Code y está estructurado según la arquitectura hexagonal, separando claramente las capas de dominio, aplicación e infraestructura.

El microservicio de Gestión de Ubicaciones (op-location-manager) es una API diseñada para la creación, eliminación, actualización y consulta de estos elementos, siguiendo formatos específicos y reglas de negocio establecidas.

Las ubicaciones deben seguir el formato:

^[A-Z]{2,3}-[A-Z]{2,4}(-[A-Z][0-9]{1,2})+(_[0-9]+)?$

Los contenedores deben seguir el formato:

^[A-Z]{2,3}-LPN-[0-9]{8}(_[0-9]+)?$

El microservicio está desarrollado utilizando las siguientes tecnologías y dependencias:

  • Node.js: Versión 20 o superior
  • TypeScript: Para desarrollo con tipado estático
  • Express: Framework web para la creación de APIs
  • MongoDB: Base de datos principal para almacenamiento de datos
  • PostgreSQL: Base de datos utilizada para integración con sistemas legacy
  • Axios: Cliente HTTP para comunicación con servicios externos
  • Zod: Biblioteca para validación de datos
  • Bunyan: Para logging
  • Swagger UI: Para documentación de la API
  • Jest: Para pruebas unitarias e integración

El microservicio se integra con los siguientes servicios externos:

  1. Servicio de Inventario

    • Función: Verificación del estado de ubicaciones y contenedores
    • Tipo de integración: API externa
    • Operaciones: Verificar si una ubicación está ocupada, verificar si un contenedor está ocupado
  2. Servicio de Asignación

    • Función: Verificación de la existencia de ubicaciones en almacenes
    • Tipo de integración: API externa
    • Operaciones: Verificar si una ubicación existe en un almacén específico
  3. Servicio Legacy Bodegao

    • Función: Gestión de ubicaciones y contenedores en el almacén
    • Tipo de integración: API externa
    • Operaciones: Creación de ubicaciones, creación de contenedores, obtención de IDs de ubicación, movimiento de contenedores

Este microservicio interactúa con:

  • API de Gestión de Inventario: Para verificar el estado de inventario en ubicaciones y contenedores
  • API de Reglas de Reabastecimiento: Para aplicar reglas de negocio relacionadas con el reabastecimiento
  • API de Bodegao legacy: Para operaciones específicas de almacén en diferentes países