MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Menu Docs
Página inicial do Docs
/

Criar pedidos modernos e omnichannel no MongoDB

Crie pedidos multicanal rápidos e confiáveis, aproveitando atualizações em tempo real por meio do MongoDB Change Streams e Atlas Triggers.

Casos de uso: Catálogo, Pedidos omnichannel

Setores: Varejo

Produtos: MongoDB Atlas, MongoDB Change Streams, MongoDB Atlas Triggers

Os clientes de hoje esperam experiências de compra perfeitas que usem canais online e offline, como comprar online para coleta ou entrega. No entanto, os retalhistas lutam para implementar soluções técnicas que ofereçam suporte a experiências de compra multicanal. Os retalhistas precisam de um sistema flexível que ofereça visibilidade em tempo real, lide com padrões de tráfego dinâmicos e permita integrações modernas em todos os pontos de contato com o cliente.

Esta solução demonstra como criar um website e-commerce multicanal usando o MongoDB Atlas. A demonstração permite que os usuários escolham seu método de envio preferido (BOPIS ou entrega em repouso) e acompanhe o progresso do pedido em tempo real até a entrega. Ao aproveitar os principais recursos do MongoDB, incluindo Change Streams, Atlas Triggers e o modelo de documento flexível, você aprenderá a criar um sistema de pedidos multicanal robusto e dimensionável.

Essa solução usa MongoDB Change Streams e Atlas Triggers para permitir operações de dados em tempo real em vários aplicativos. A arquitetura consiste em dois componentes principais: Aplicativos de tempo real e MongoDB Atlas.

Os aplicativos em tempo real incluem qualquer aplicativo que responda a alterações no banco de dados, como aplicativos e-commerce, centro de distribuição, armazém e inventário.

Esta solução tem o seguinte fluxo de trabalho:

  1. Uma ação de um aplicativo produz uma modificação de dados, como atualizar o status do pedido.

  2. O evento está registrado na coleção orders no MongoDB Atlas.

  3. Estas alterações são registradas no oplog, que utiliza a coleção oplog.rs.

  4. A API Change Streams monitora essas alterações. Você pode monitorar alterações nos níveis de coleção, banco de dados ou todo o cluster e filtrar alterações específicas usando o framework de agregação do MongoDB.

  5. Com base em suas necessidades de arquitetura, você pode:

    • Atualize o lado do aplicativo.

    • Acione uma tarefa automatizada por meio das funções do Atlas.

Essa arquitetura fornece uma base para vários aplicativos do mundo real, como:

  • Notificações em tempo real: alertas automáticos para os clientes informando quando os pedidos estão disponíveis para retirada.

  • Sistemas reativos: gerenciamento inteligente de estoque com reabastecimento automático.

  • Arquitetura orientada a eventos: sincronização de microsserviços em tempo real com integração opcional ao Kafka.

  • Captura de alterações de dados: atualização imediata de preços de produtos em todo o sistema.

  • Análise em tempo real: recálculo instantâneo de risco de fraude usando modelos de ML.

Fluxo de trabalho para gerenciamento de estoque com Triggers e Change Streams.

figura 1. Arquitetura de solução de pedidos multicanal

O modelo de dados desta solução usa duas coleções primárias, chamadas products e orders. Cada coleção utiliza um formato field: value para fornecer uma representação organizada dos dados armazenados.

A coleção products armazena informações abrangentes do produto, como as seguintes:

  • ID, nome e um identificador exclusivo de produto (como SKUs).

  • Campos de categorização, como masterCategory, subCategory e articleType.

  • Objetos aninhados para preços com campos amount e currency.

  • Atributos específicos do produto, como status de preenchimento automático e cor base.

  • Campos relacionados ao inventário e metadados do produto.

Visualização da coleção "produtos".

figura 2. documento de exemplo na coleção products

A coleção orders acompanha detalhes do pedido, incluindo o seguinte:

  • Identificadores únicos para pedidos e usuários.

  • Uma array de produtos para cada pedido.

  • status_history array, que captura a progresso dos estados do pedido com registros de data e hora.

  • Diferenciação entre tipos de pedido (Comprar online, Recolher na armazenar vs. Comprar online, Obter Entrega em Casa).

  • Endereços de envio específicos do pedido.

  • Fluxos de trabalho de status com base no tipo de entrega:

    • Os pedidos do BOPIS mostram status, como "Em processo" ou "Pronto para coleta".

    • Os pedidos de entrega em domiciário passam pelos seguintes estados: "Em processo", "Pronto para entrega", "Retirado do armazém", "Em trânsito" e "Entregue".

Visualização do documento da coleção "Pedidos"

figura 3. Documentos de exemplo na coleção orders

Esta solução utiliza este repositório GitHub. O procedimento a seguir descreve como configurar a demonstração. Para obter detalhes completos sobre diretrizes e implementação, consulte o READMEdo repositório.

1

Realize o provisionamento de um cluster em sua conta Atlas e preencha seu banco de dados com os dados necessários para a demonstração. Você pode usar mongorestore para preencher rapidamente o banco de dados com os dados de despejo necessários, armazenados na pasta /dump/leafy_popup_store no repositório do GitHub.

2

Crie um trigger de banco de dados que escute a coleção orders para inserir e atualizar eventos. Isso executa uma função que você pode copiar do repositório GitHub.

Como essa demonstração envolve um cliente fazendo um pedido em um website e-commerce, o trigger imita os processos necessários para atualizar o status do pedido a cada 10 segundos, avançando nos estágios do pedido até que ele seja marcado como entregue. Os processos simulados incluem funcionários do armazém gerenciando um pedido, serviços postais entregando pacotes ou funcionários que armazenam empacotando um pedido.

3

Clone o repositório GitHub para sua máquina local, configure suas variáveis de ambiente e instale dependências. Por fim, execute o aplicativo localmente e acesse o frontend em http://localhost:8080/cart.

  • Flexibilidade e velocidade: a flexibilidade do MongoDB permite que você adapte suas estruturas de dados com facilidade, levando a um tempo de lançamento no mercado mais rápido e a uma experiência multicanal consistente.

  • Funcionalidades em tempo real: recursos como Change Streams e Atlas Triggers permitem o processamento de dados em tempo real, o que é essencial para tarefas como rastreamento de pedidos e atualizações de estoque.

  • Arquitetura inteligente: a arquitetura dimensionável e flexível do MongoDB facilita a integração de FERRAMENTAS como Change Streams e Atlas Triggers sem camadas adicionais de aplicativo.

  • Angie Guemes, MongoDB

  • Florencia Arin, MongoDB

  • Sistema de gerenciamento de inventário orientado por eventos

  • Personalização em tempo real com dados de recibos

  • RFID: Rastreamento de Produtos em Tempo Real

Voltar

Criação de um sistema de gerenciamento de estoque

Nesta página