Product Catalog & Search
Catálogo y experiencia de producto: definición y atributos de productos, búsqueda y descubrimiento (keyword, categoría, colección), detalles enriquecidos, recomendaciones y facets para filtrar resultados.
flowchart LR classDef current fill:#1e3a5f,stroke:#3b82f6,color:#e2e8f0,stroke-width:2px classDef related fill:#1c2a3a,stroke:#334155,color:#94a3b8,stroke-dasharray:4 classDef service fill:#1c1c2e,stroke:#4b5563,color:#cbd5e1 classDef overscoped fill:#450a0a,stroke:#ef4444,color:#fca5a5,stroke-width:2px product["Product Catalog & Search"]:::current dc_wl_groceries_core_products["Product Detail"]:::service dc_wl_groceries_core_search["Product Search"]:::service product --> dc_wl_groceries_core_products product --> dc_wl_groceries_core_search
Servicios
Servicio responsable de la ficha de producto. Expone APIs HTTP para obtener información detallada de un producto, utilizando un modelo de datos muy similar al de Search, pero enriquecido con: - Detalles adicionales del producto. - Ingredientes y atributos específicos. - Recomendaciones de productos relacionados. - Información extendida para la pantalla de detalle.
⚠ Comparte esquema de datos de producto con el servicio de Search, lo que genera solapamiento entre ambos. Actualmente se utiliza sólo para la pantalla de detalles, mientras que Search cubre discovery y listados. Existe una discusión abierta sobre desmantelar este servicio y mover la responsabilidad de detalle de producto a Search, reduciendo duplicación de modelo y lógica.
Servicio responsable de la búsqueda y descubrimiento de productos. Expone APIs gRPC/HTTP para: - Top searches y sugerencias de búsqueda. - Autocomplete y autosuggest combinando términos y productos relacionados. - Búsqueda de productos por keyword, categoría y colección. - Obtención de facets y opciones de filtrado para resultados de búsqueda. - Información de paginación, ordenación y filtros aplicados sobre los resultados.
⚠ Servicio bien acotado al dominio de búsqueda de productos. Comparte el modelo de datos de producto con el microservicio de Product, que actualmente se usa para la pantalla de detalle. Existe una discusión abierta sobre consolidar ambas responsabilidades en Search y desmantelar el micro de Product.