Docs Menu
Docs Home
/

Creación de un sistema de pedidos omnicanal moderno en MongoDB

Cree pedidos omnicanal rápidos y confiables aprovechando actualizaciones en tiempo real mediante MongoDB Change Streams y Atlas Triggers.

Casos de uso: Catálogo, pedidos omnicanal

Industrias: Comercio minorista

Productos: MongoDB Atlas, Flujos de cambios deMongoDB, Desencadenadores de MongoDB Atlas

Hoy en día, los clientes esperan experiencias de compra fluidas que utilicen canales online y offline, como la compra online con recogida o entrega a domicilio. Sin embargo, a los minoristas les cuesta implementar soluciones técnicas que favorezcan las experiencias de compra omnicanal. Necesitan un sistema flexible que ofrezca visibilidad en tiempo real, gestione patrones de tráfico dinámicos y permita integraciones modernas en todos los puntos de contacto del cliente.

Esta solución demuestra cómo crear un sitio web de comercio electrónico omnicanal con MongoDB Atlas. La demo permite a los usuarios elegir su método de envío preferido.BOPIS o entrega a domicilio) y seguir el progreso de sus pedidos en tiempo real hasta su entrega. Al aprovechar las funciones clave de MongoDB, como los flujos de cambios, los disparadores Atlas y el modelo de documentos flexible, aprenderá a crear un sistema de pedidos omnicanal robusto y escalable.

Esta solución utiliza MongoDB Change Streams y Atlas Triggers para permitir operaciones de datos en tiempo real en múltiples aplicaciones. La arquitectura consta de dos componentes principales: Aplicaciones en Tiempo Real y MongoDB Atlas.

Las aplicaciones en tiempo real incluyen cualquier aplicación que responda a los cambios en la base de datos, como aplicaciones de comercio electrónico, centros de distribución, almacenes e inventario.

Esta solución tiene el siguiente flujo de trabajo:

  1. Una acción de una aplicación produce una modificación de datos, como una actualización del estado de un pedido.

  2. El evento está registrado en el orders colección en MongoDB Atlas.

  3. Estos cambios se registran en el oplog, que utiliza la colección oplog.rs.

  4. La API de flujos de cambios monitoriza estos cambios. Puede monitorizar los cambios a nivel de colección, base de datos o clúster, y filtrar cambios específicos mediante el marco de agregación de MongoDB.

  5. Según sus necesidades de arquitectura, puede:

    • Realizar una actualización en el lado de la aplicación.

    • Activar una tarea automatizada a través de funciones Atlas.

Esta arquitectura proporciona una base para diversas aplicaciones del mundo real, como:

  • Notificaciones en tiempo real: alertas automáticas a los clientes sobre la preparación para la recogida del pedido.

  • Sistemas reactivos: Gestión inteligente de inventario con reposición automática.

  • Arquitectura basada en eventos: sincronización de microservicios en tiempo real con integración opcional de Kafka.

  • Captura de datos modificados: actualizaciones inmediatas de precios de productos en todo el sistema.

  • Análisis en tiempo real: recálculo instantáneo del riesgo de fraude mediante modelos ML.

Flujo de trabajo de gestión de inventario con activadores y flujos de cambio.

Figura 1. Arquitectura de la solución de pedidos omnicanal

El modelo de datos de esta solución utiliza dos colecciones principales, denominadas products y orders. Cada colección utiliza el formato field: value para proporcionar una representación organizada de los datos almacenados.

La colección products almacena información completa del producto como la siguiente:

  • ID, nombre y un identificador de producto único (como SKU).

  • Campos de categorización, como masterCategory, subCategory y articleType.

  • Objetos anidados para precios con campos amount y currency.

  • Atributos específicos del producto, como el estado de reposición automática y el color base.

  • Campos relacionados con el inventario y metadatos del producto.

Descripción general de la colección de productos.

Figura 2. Documento de ejemplo en la colección products

La colección orders rastrea los detalles del pedido, incluidos lo siguiente:

  • Identificadores únicos para pedidos y usuarios.

  • Una variedad de productos para cada pedido.

  • status_history matriz, que captura la progresión de los estados de orden con marcas de tiempo.

  • Diferenciación entre tipos de pedido (Comprar online, recoger en tienda vs. Comprar online, recibir en casa).

  • Direcciones de envío específicas del pedido.

  • Flujos de trabajo de estado según el tipo de entrega:

    • Los pedidos de BOPIS muestran estados como "En proceso" o "Listo para recoger".

    • Los pedidos de entrega a domicilio pasan por los siguientes estados: "En proceso", "Listo para entregar", "Recogido del almacén", "En tránsito" y "Entregado".

Descripción general del documento de recopilación de pedidos

Figura 3. Documentos de ejemplo en la colección orders

Esta solución utiliza este repositorio de GitHubEl siguiente procedimiento describe cómo configurar la demostración. Para obtener una guía completa y detalles de implementación, consulte el repositorio.README

1

Aprovisione un clúster en su cuenta de Atlas y rellene su base de datos con los datos necesarios para la demostración. Puede usar mongorestore para rellenar rápidamente la base de datos con los datos de volcado necesarios, almacenados en /dump/leafy_popup_store la carpeta del repositorio de GitHub.

2

Crea un disparador de base de datos que escuche la orders colección en busca de eventos de inserción y actualización. Esto ejecuta una función que puedes copiar del repositorio de GitHub.

Dado que esta demostración implica a un cliente que realiza un pedido desde un sitio web de comercio electrónico, el disparador imita los procesos necesarios para actualizar el estado del pedido cada 10 segundos, avanzando por las etapas del pedido hasta que se marca como entregado. Los procesos simulados incluyen empleados de almacén que gestionan un pedido, servicios postales que entregan paquetes o empleados de tienda que empaquetan un pedido.

3

Clona el repositorio de GitHub en tu equipo local, configura las variables de entorno e instala las dependencias. Finalmente, ejecuta la aplicación localmente y accede al frontend en http://localhost:8080/cart.

  • Flexibilidad y velocidad: la flexibilidad de MongoDB le permite adaptar sus estructuras de datos con facilidad, lo que genera un tiempo de comercialización más rápido y una experiencia omnicanal consistente.

  • Capacidades en tiempo real: funciones como Change Streams y Atlas Triggers permiten el procesamiento de datos en tiempo real, lo cual es esencial para tareas como el seguimiento de pedidos y las actualizaciones de inventario.

  • Arquitectura inteligente: la arquitectura escalable y flexible de MongoDB facilita la integración de herramientas como Change Streams y Atlas Triggers sin capas de aplicación adicionales.

  • Angie Guemes, MongoDB

  • Florencia Arin, MongoDB

  • Sistema de gestión de inventario basado en eventos

  • Personalización en tiempo real con datos de recibos

  • RFID: Seguimiento de productos en tiempo real

Volver

Compilación de un sistema de gestión de inventario

En esta página