Carts

dc-wl-groceries-core-carts
Repositorio
cart shipping wl-architecture rollout-in-progress

Reimplementación completa del carrito de compras del cliente sobre la arquitectura White Label. Expone APIs gRPC/HTTP para: - Crear, recuperar y eliminar carritos por identificador y usuario. - Añadir, actualizar y eliminar items del carrito (patch masivo e individual). - Gestionar mensajes y comentarios asociados al carrito. - Actualizar datos de envío del carrito (dirección, tienda de despacho, tipo de entrega, tipo de dirección) y simular el carrito para un contexto dado. - Validar el carrito en base a reglas de negocio, grupos de cliente y contexto de entrega. - Configurar el tipo de sustitución de productos en caso de falta de stock.

Reemplaza a [Cart legacy](/catalog/services/dc-wl-groceries-core-cart) (`dc-wl-groceries-core-cart`, sin "s" final). A diferencia del servicio anterior, cumple con todas las definiciones de la arquitectura White Label (cuatro capas, API-first con Protobuf, multi-tenant por FX, eventos vía NATS) y suma mejoras de performance y de lógica de carrito/shipping. Ya está desplegado con éxito en `br-prezunic`; el resto de los tenants está en revisión y se irá habilitando de forma progresiva mientras se depreca el microservicio anterior.

Este servicio abarca 2 dominios. Un servicio debería ser responsable de un único dominio funcional. Es candidato a ser dividido.

Carts · Contexto de dominio
Dominio Este servicio Servicio relacionado Servicio sobrecargado Plataforma interna Proveedor externo - -▶ Dependencia / comparte dominio

Proveedores de plataforma

2

Dominios que abarca

2

Servicios en dominios compartidos

1

Estos servicios operan en al menos uno de los mismos dominios. Si hay demasiados, es otra señal de que los límites de dominio no están bien definidos.

Cart (legacy) Repo ↗

Servicio legado responsable del carrito de compras del cliente. Expone APIs gRPC/HTTP para: - Crear y recuperar carritos por identificador y usuario. - Añadir, actualizar, parchear y eliminar items del carrito. - Gestionar mensajes y comentarios asociados al carrito y a items específicos. - Actualizar datos de envío del carrito (dirección, tipo de entrega, tipo de dirección). - Validar el carrito en base a reglas de negocio, grupos de cliente y contexto de entrega. - Configurar el tipo de sustitución de productos en caso de falta de stock.

⚠ Reemplazado por el microservicio [Carts](/catalog/services/dc-wl-groceries-core-carts) (`dc-wl-groceries-core-carts`, notar la "s" final que distingue a ambos repos), una reimplementación completa que sí cumple con todas las definiciones de la arquitectura White Label y añade mejoras de performance y lógica de negocio. Carts ya está desplegado en producción en `br-prezunic`; el resto de los tenants está en proceso de revisión y rollout progresivo. Este servicio (Cart legacy) se irá deprecando tenant por tenant a medida que Carts se valida y despliega.

cart shipping legacy being-replaced deprecated-in-br-prezunic