Servidor Couchbase

Criar um aplicativo de galeria de fotos com marcação automática usando o AWS Rekognition e o Couchbase - Parte 2

Ratnopam Chakrabarti é um desenvolvedor de software que trabalha atualmente para a Ericsson Inc. Ele tem se concentrado em IoT, tecnologias máquina a máquina, carros conectados e domínios de cidades inteligentes por um bom tempo. Ele adora aprender novas tecnologias e colocá-las em prática. Quando não está trabalhando, gosta de passar o tempo com seu filho de 3 anos.

Ratnopam Chakrabarti

Em Parte 1 desta série do blogNa publicação anterior, vimos como podemos armazenar e recuperar metadados de imagens de e para um bucket do Couchbase. Nesta postagem (Parte 2), daremos uma olhada nos recursos "curtir" e mostrar por nome de usuário do aplicativo.

A ideia aqui é usar HTML e jQuery no lado do cliente que interagem com os componentes do nó, como route.js, em execução no lado do servidor. Por exemplo, o seguinte snippet de jQuery fica no lado do cliente e faz uma chamada Ajax para o "URL" que é exposto como um rota dentro do route.js no lado do servidor.

O como é um elemento de âncora no qual, ao clicar, uma nova rota é chamada no aplicativo de nó. Aqui está o snippet:

 

O URL é formado anexando '/like/' e o ID da imagem ao campo hospedeiro variável. Quando a chamada Ajax é feita com sucesso, o retorno de chamada de sucesso correspondente analisa a resposta JSON enviada de volta do ponto de extremidade do lado do servidor (routes.js).

A rota correspondente para isso (em routes.js) é mostrada abaixo:

A rota acima atende à chamada do jQuery do lado do cliente e também envia de volta uma resposta HTTP de 200 e um corpo de resposta JSON.

A rota faz uma chamada para o getByDocumentId exposta pelo ImageModel. Essa função, conforme mostrado abaixo, recupera um documento do bucket do Couchbase com base no ID do documento passado como argumento. Depois que o documento é recuperado com êxito, o resultado é analisado e a função "curtidas" é incrementado em 1. O documento atualizado é salvo chamando a função save().

A função getByDocumentId (definida no arquivo recordmodel.js):

 

Mostrar imagens por TagName

Para listar imagens por uma determinada tag, precisamos fazer o seguinte:

  • Passa o nome da imagem quando a âncora é clicada
  • Use o nome da imagem para filtrar as imagens

O nome da marca é passado pelo seguinte jQquery simples:

E a rota correspondente:

O getImagesByTag é descrita a seguir:

Ele simplesmente executa a seguinte consulta usando o N1QL:

selecione filename, likes from photogallery where IN tags;

Isso permite a filtragem com base em tagname, onde tags é uma matriz de cadeias de caracteres.

pasted image 0 3

Portanto, se tivermos duas imagens com a mesma tag, a consulta acima deverá retornar as duas imagens.

pasted image 0 1

Aqui, ambos os documentos têm uma tag comum chamada "Blossom." Agora, se executarmos a consulta usando o Couchbase Query Workbench, obteremos o seguinte resultado:

pasted image 0 5

Como esperado, você pode ver que dois registros são retornados. Isso é, na verdade, o que está acontecendo no getImagesByTag () função.

Solução de problemas

Durante a instalação do npm, se você encontrar o seguinte erro,

Não é possível encontrar o executável do Python "python", você pode definir a variável de ambiente PYTHON

faça o seguinte para se livrar do erro:

Instalar o python

Adicionar python ao caminho

Isso deve resolver o erro... pelo menos foi o que aconteceu comigo.

 

Esta postagem faz parte do Programa de Redação da Comunidade Couchbase

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Laura Czajkowski, gerente da comunidade de desenvolvedores, Couchbase

Laura Czajkowski é a Snr. Developer Community Manager da Couchbase, supervisionando a comunidade. Ela é responsável pelo nosso boletim informativo mensal para desenvolvedores.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.