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.
Especificación OpenAPI Click aqui y podra revisar la especificación OpenAPI del microservicio
Propósito Principal
Section titled “Propósito Principal”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]+)?$Tecnologías y Dependencias Clave
Section titled “Tecnologías y Dependencias Clave”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
Servicios Externos Utilizados
Section titled “Servicios Externos Utilizados”El microservicio se integra con los siguientes servicios externos:
-
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
-
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
-
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
Relación con Otros Microservicios
Section titled “Relación con Otros Microservicios”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