Sem categoria

ScoreMore: Criando Baseball ORM e visualizações

 

Preparando-se para a temporada de beisebol, ScoreMore Beisebol recentemente, acabou de acertar em cheio com o lançamento de seu aplicativo em todas as principais plataformas móveis. Um dos principais diferenciais do aplicativo é o uso de Couchbase que foi discutido no Blog ScoreMore com o Couchbase Mobile. Neste blog, exploraremos como o aplicativo projetou seus mapeadores de objetos e obteve suas visualizações. 

Para o ScoreMore, o design do mapa de relação de objetos é manter um atributo específico para "tipo" a fim de identificar o tipo de "objeto" o documento é. No beisebol, uma equipe é formada por membros com várias funções. No exemplo abaixo, "type": "coach" é para um documento que contém todas as informações de um técnico durante o jogo. Outras funções serão definidas por seus respectivos "tipo"

Observação: hash e salt são para armazenamento de senhas, _id e _rev não são mostrados, pois são gerados automaticamente pelo Couchbase. Versões legíveis para humanos de _id serão usadas em exemplos futuros, como "coach_1"

Em alguns documentos, o nó de nível inferior de uma estrutura pode ser rolado para uma matriz no documento proprietário. O exemplo clássico é o de transferir todos os endereços de um contato para uma matriz. No ScoreMore Baseball, cada contato de um rebatedor "hit" é acumulado em uma matriz para o jogo em que ocorreu. Da mesma forma, para uma equipe, o registro de vitórias e derrotas de cada temporada é acumulado em uma matriz na Equipe. Dessa forma, há uma definição clara do primeiro grau de separação e relacionamento entre os atributos.

 

A equipe do Score More Baseball também mantém os resultados do beisebol organizados em seu Visualizações, em que cada View retorna apenas documentos de um único "tipo". Com as visualizações, a primeira verificação será uma instrução "if-clause", validando documentos que correspondam a uma determinada "tipo"especificado por uma verificação do "tipo" ou em relação a um campo que seja exclusivo desse tipo de documento. Um exemplo abaixo é a visualização do gráfico de pulverização, que mostra o local de cada rebatida que o jogador já fez.

O código abaixo primeiro verifica se o documento (nesse caso, um jogo) contém uma matriz de acertos para o time da casa ou para o time visitante, omitindo os documentos gerados pelo Sync Gateway. Em seguida, ele itera por todas essas ocorrências e, se os parâmetros de pesquisa do Player (especificados por 'playerid') para a temporada em questão (especificada por 'yearid') correspondem ao hit, então o 'hit' é adicionado ao conjunto de resultados. Cada local de acerto tem um 'x' e 'y' bem como um conjunto de 'tipo'indicando se a rebatida foi uma bola voadora, uma linha de transmissão ou uma bola rasteira.

 

Por exemplo, o gráfico de pulverização abaixo mostra o local de todas as rebatidas do "jogador_1" na temporada de 2015, tendo (key=["jogador_1", 2015]) Pontos vermelhos representam bolas voadoras, pontos brancos são line drives e pontos amarelos são bolas rasteiras.

 

 

 

 

Por fim, no lado do cliente, o ScoreMore usou estruturas JavaScript que são, na verdade, representações de objetos dos vários tipos de documentos disponíveis: Técnico, Jogador, Equipe, Jogo, etc. Os construtores de cada uma dessas estruturas de objeto pegam os resultados retornados da visualização e os mapeiam para as propriedades do objeto. Indo na outra direção (armazenando no banco de dados a partir do aplicativo), o JSON.stringify é usado para ir da estrutura do objeto para o formato JSON que o Couchbase está esperando para a operação POST.

 

Ouça como Couchbase Mobile forneceu à equipe do ScoreMore as ferramentas tecnológicas necessárias para atingir o sucesso na Café no Couchbase: ScoreMore com o Couchbase Mobile Blog e não deixe de baixar o aplicativo que já está disponível para Android, iOSe BlackBerry.

 

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

Author

Posted by William Hoang

William foi um defensor do desenvolvedor na equipe de engenharia móvel/experiência do desenvolvedor na Couchbase. Seu amor por café e código o levou ao mundo dos dispositivos móveis, ao mesmo tempo em que apreciava as experiências presenciais off-line. Antes disso, William trabalhou na equipe de relações com desenvolvedores do Twitter, BlackBerry e Microsoft, além de ter sido engenheiro de GPS incorporado a software na Research In Motion. William se formou na McGill University em Engenharia Elétrica de Software

Um comentário

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.