Skip to content

v1.3.0

Latest

Choose a tag to compare

@jeniferplacido jeniferplacido released this 31 Jul 20:33
15e3ff9

Integração com MongoDB e Mongoose

Banco de Dados MongoDB: Agora estamos utilizando o MongoDB como nosso principal sistema de persistência. O banco de dados foi configurado no MongoDB Atlas com as coleções carts, messages, e products.

Modelos Mongoose: Os esquemas do MongoDB foram definidos utilizando Mongoose, organizados na pasta dao/models.

Atualizações na Persistência
Gestão de Produtos: Implementamos filtros, paginação e ordenação na consulta de produtos. Agora você pode buscar produtos por categoria ou disponibilidade e ordenar por preço. A resposta da API inclui informações sobre a paginação e links diretos para páginas anteriores e seguintes.

Gestão de Carrinhos: Adicionamos a capacidade de atualizar carrinhos e produtos dentro dos carrinhos com novos endpoints. O carrinho agora usa IDs de produtos referenciados e a função populate para obter detalhes completos dos produtos.

Novos Endpoints e Funcionalidades

Produtos:
GET /products: Suporte para parâmetros de consulta limit, page, sort e query para buscar e ordenar produtos de maneira eficiente.
Carrinhos:
PUT /carts/:cid: Atualiza o carrinho com uma matriz de produtos.
PUT /carts/
/products/:pid: Atualiza a quantidade de um produto específico no carrinho.
DELETE /carts/:cid: Remove todos os produtos do carrinho.

Novas Views em Handlebars
Chat: Implementamos uma nova visualização em chat.handlebars que permite o envio e recebimento de mensagens em tempo real, com as mensagens armazenadas na coleção messages do MongoDB.

Produtos: A visualização de produtos agora inclui uma página de listagem com paginação e uma visualização detalhada para cada produto, além de um botão para adicionar produtos ao carrinho.

Carrinho: A nova visualização em /carts/:cid exibe os produtos de um carrinho específico e permite a atualização ou remoção de produtos.

Função de Adicionar ao Carrinho
Implementação de Função JavaScript: Adicionamos uma função para adicionar produtos ao carrinho diretamente na interface do usuário. A função agora obtém o ID do carrinho do armazenamento local ou de uma chamada ao backend e faz a atualização via API.

Correções e Melhorias
Correções Gerais: Diversas melhorias e correções foram realizadas para garantir a estabilidade e a performance do sistema.