Closed lucasvtenorio closed 10 years ago
Estava pensando aqui… Não seria mais lógico uma instancia de Sticker ter só um name
? Tipo:
Sticker:
{
"id": 1,
"name": "Dinheiro",
"image": "http://..."
}
E os Comments/Checkins iriam ter uma relação ManyToMany com atributos. No caso, um atributo level
. Daí, um Comment seria:
Comment:
{
"content": "Lorem ipsum dolor",
"author": 3,
"stickers:" [
{
"id": 1,
"level": 2
},
{
"id": 3,
"level": 0
}
]
}
Ou seja, não ter um Sticker para bom, médio, ruim. Mas o Sticker do Item a Avaliar, e na relação ter o atributo level
. O que acham?
@RafaelMarinheiro Dá uma olhada e opina! :D
No caso, esse "level" definiria ser o Sticker seria positivo, negativo ou neutro?
2013/8/13 Cisneiros notifications@github.com
@RafaelMarinheiro https://github.com/RafaelMarinheiro Dá uma olhada e opina! :D
— Reply to this email directly or view it on GitHubhttps://github.com/RafaelMarinheiro/Stig-Server/issues/5#issuecomment-22580995 .
Precisamente. :)
Acho que fica melhor estruturado para trabalharmos com eles(os stickers). Lucas, não garanto que eu faça essa alteração no JSON hoje não, mas amanhã ficará pronto sim :)
2013/8/13 Cisneiros notifications@github.com
Precisamente. :) Sent from my BlackBerry 10 smartphone. From: LuizVasconcelosSent: Tuesday, August 13, 2013 2:22 PMTo: RafaelMarinheiro/Stig-ServerReply To: RafaelMarinheiro/Stig-ServerCc: CisneirosSubject: Re: [Stig-Server] Ids dos stickers... (#5)No caso, esse "level" definiria ser o Sticker seria positivo, negativo ou
neutro?
2013/8/13 Cisneiros notifications@github.com
@RafaelMarinheiro https://github.com/RafaelMarinheiro Dá uma olhada e
opina! :D
—
Reply to this email directly or view it on GitHub< https://github.com/RafaelMarinheiro/Stig-Server/issues/5#issuecomment-22580995>
.
—Reply to this email directly or view it on GitHub.
— Reply to this email directly or view it on GitHubhttps://github.com/RafaelMarinheiro/Stig-Server/issues/5#issuecomment-22582546 .
Concordo com Alexandre.
Eu concordo com todo mundo aí. Eu até tinha sugerido isso para Rafael antes mas ele tem a política de mudar o mínimo possível a especificação do servidor. Então tive de desenrolar minhas gambiarras aqui. Mas no iOS mesmo eu estou trabalhando com um sistema muito parecido com o proposto, eu estou traduzindo entre os dois na criação dos stickers. Facilitaria a minha vida se o que Alexandre falou fizesse parte da especificação.
On Tue, Aug 13, 2013 at 8:07 PM, PedroDiniz notifications@github.com wrote:
Concordo com Alexandre.
Reply to this email directly or view it on GitHub: https://github.com/RafaelMarinheiro/Stig-Server/issues/5#issuecomment-22604433
Eu discordo dessas alterações. Comentários serão os objetos que consumirão mais dados do nosso app, entao temos que tentar minimizar a quantidade de dados envolvidos na sua representação do JSON.
Eu sugiro a seguinte convenção:
dinheiro - ruim = 0b01 dinheiro - neutro = 0b11 dinheiro - bom = 0b10
comida - ruim = 0b01 << 2 comida - neutro = 0b11 << 2 comida - bom = 0b10 << 2
Fila - ruim = 0b01 << 4 Fila - neutro = 0b11 << 4 Fila - bom = 0b10 << 4
musica - ruim = 0b01 << 6 musica- neutro = 0b11 << 6 musica - bom = 0b10 << 6
acessibilidade - ruim = 0b01 << 8 acessibilidade - neutro = 0b11 << 8 acessibilidade - bom = 0b10 << 8
pessoas - ruim = 0b01 << 10 pessoas - neutro = 0b11 << 10 pessoas - bom = 0b10 << 10
Naturalmente, a lista de ids seria representada pelo OR dos ativos presentes na lista. Assim não precisaríamos de um numero maior que 8192 (4 caracteres) para representar a lista toda.
Notem que isso se refere apenas ao JSON gerado. O servidor poderia armazenar da maneira que ele bem entendesse e o cliente poderia manipular da maneira que ele bem entendesse. Apenas o "glue code" teria que saber dessa convenção não-tao-simples-de-usar.
Comentários alterados com os stickers no esquema que Lucas pediu. Não saquei essa convenção que Marinheiro deu para o reconhecimento dos stickers, se der pra explicar um pouco melhor, fico grato.
Em 13 de agosto de 2013 23:57, Rafael Marinheiro notifications@github.comescreveu:
Eu discordo dessas alterações. Comentários serão os objetos que consumirão mais dados do nosso app, entao temos que tentar minimizar a quantidade de dados envolvidos na sua representação do JSON.
Eu sugiro a seguinte convenção:
dinheiro - ruim = 0b01 dinheiro - neutro = 0b11 dinheiro - bom = 0b10
comida - ruim = 0b01 << 2 comida - neutro = 0b11 << 2 comida - bom = 0b10 << 2
Fila - ruim = 0b01 << 4 Fila - neutro = 0b11 << 4 Fila - bom = 0b10 << 4
musica - ruim = 0b01 << 6 musica- neutro = 0b11 << 6 musica - bom = 0b10 << 6
acessibilidade - ruim = 0b01 << 8 acessibilidade - neutro = 0b11 << 8 acessibilidade - bom = 0b10 << 8
pessoas - ruim = 0b01 << 10 pessoas - neutro = 0b11 << 10 pessoas - bom = 0b10 << 10
Naturalmente, a lista de ids seria representada pelo OR dos ativos presentes na lista. Assim não precisaríamos de um numero maior que 8192 (4 caracteres) para representar a lista toda.
Notem que isso se refere apenas ao JSON gerado. O servidor poderia armazenar da maneira que ele bem entendesse e o cliente poderia manipular da maneira que ele bem entendesse. Apenas o "glue code" teria que saber dessa convenção não-tao-simples-de-usar.
— Reply to this email directly or view it on GitHubhttps://github.com/RafaelMarinheiro/Stig-Server/issues/5#issuecomment-22612278 .
{ "comments": [ { "id":1, "user_id": 1, "place_id": 1, "text": "Lugar muito massa", "stickers":[8,11,17], "timestamp": "2013-06-19 23:30:45", "reply": null }, { "id":2, "user_id": 2, "place_id": 1, "text": "Nem tanto assim visse?", "stickers":[0,6,12], "timestamp": "2013-06-19 23:30:59", "reply": 1 }, { "id":3, "user_id": 2, "place_id": 1, "text": "Lugar lotado e poucas opções de bebida", "stickers":[3,15], "timestamp": "2013-06-19 23:31:45", "reply": null }, { "id":4, "user_id": 5, "place_id": 1, "text": "Tem muita gente e a música não está muito boa :/", "stickers":[9,15], "timestamp": "2013-06-19 23:37:52", "reply": null }, { "id":5, "user_id": 5, "place_id": 1, "text": "Agora teve uma confusão aqui por causa de bebida. Não recomendo muito virem pra cá não...", "stickers":[4,15], "timestamp": "2013-06-19 23:41:17", "reply": 4 }, { "id":6, "user_id": 4, "place_id": 1, "text": "Tem gente legal, apesar de tudo", "stickers":[17], "timestamp": "2013-06-19 23:46:33", "reply": 5 }, { "id":7, "user_id": 5, "place_id": 1, "text": "Mas ser envolvido em confusão não é muito bom. Principalmente quando você não tem culpa de nada", "stickers":[16], "timestamp": "2013-06-19 23:46:33", "reply": 6 }, { "id":8, "user_id": 3, "place_id": 2, "text": "Muito legal aqui. Tá cheio de gente animada e com músicas muito boas mesmo! :D", "stickers":[17,11], "timestamp": "2013-06-19 23:36:03", "reply": null }, { "id":9, "user_id": 7, "place_id": 2, "text": "Também tem drinks muito gostosos e o cardápio é bem variado :)", "stickers":[5,2], "timestamp": "2013-06-19 23:41:27", "reply": 8 }, { "id":10, "user_id": 9, "place_id": 2, "text": "Tá meio cheio, mas a galera é bem animada", "stickers":[12,17], "timestamp": "2013-06-19 23:43:55", "reply": null }, { "id":11, "user_id": 7, "place_id": 2, "text": "Pena que o atendimento do bar tá um pouco ruim :/", "stickers":[4], "timestamp": "2013-06-19 23:45:02", "reply": 10 }, { "id":12, "user_id": 3, "place_id": 2, "text": "Pelo menos tem a galera pra conversar. Dá pra esperar o atendimento de boa", "stickers":[17], "timestamp": "2013-06-19 23:47:11", "reply": 11 }, { "id":13, "user_id": 7, "place_id": 2, "text": "Verdade", "stickers":[16], "timestamp": "2013-06-19 23:47:56", "reply": 12 }, { "id":14, "user_id": 11, "place_id": 2, "text": "Não tem fila para entrar! /o/", "stickers":[8], "timestamp": "2013-06-19 23:49:44", "reply": null }, { "id":15, "user_id": 7, "place_id": 2, "text": "Também estava meio apreenssivo, mas tava tranquilo quando cheguei :)", "stickers":[8], "timestamp": "2013-06-19 23:52:14", "reply": 14 }, { "id":16, "user_id": 6, "place_id": 3, "text": "Grande diversidade de drinks e cover de coldplay muito bom!", "stickers":[11,5], "timestamp": "2013-06-19 23:32:41", "reply": null }, { "id":17, "user_id": 8, "place_id": 3, "text": "Tem uma fila enorme esperando para entrar, estou aqui já faz quase 1 hora esperando --'", "stickers":[6], "timestamp": "2013-06-19 23:34:51", "reply": null }, { "id":18, "user_id": 10, "place_id": 3, "text": "Pode ir pra outro lugar então. O atendimento está péssimo e não tem tanta gente interessante aqui...", "stickers":[3,15], "timestamp": "2013-06-19 23:36:47", "reply": 17 }, { "id":19, "user_id": 6, "place_id": 3, "text": "Tem muita gente e pouco espaço. Uma menina já passou mal aqui dentro", "stickers":[15], "timestamp": "2013-06-19 23:39:23", "reply": 18 }, { "id":20, "user_id": 8, "place_id": 3, "text": "Finalmente entrei. O lugar tem algumas pessoas legais e a música tá boa mesmo", "stickers":[11,17], "timestamp": "2013-06-19 23:34:51", "reply": null }, { "id": 21, "user_id": 24, "place_id": 5, "text": "Show de bola! :D", "stickers": [14,5,17], "timestamp": "2013-06-19 23:27:51", "reply": null }, { "id": 22, "user_id": 22, "place_id": 5, "text": "Tá foda! Está acima da média!", "stickers": [11,5], "timestamp": "2013-06-19 23:32:17", "reply": 21 }, { "id": 23, "user_id": 21, "place_id": 5, "text": "Média não serve pra nada! /o/", "stickers": [16], "timestamp": "2013-06-19 23:36:18", "reply": 22 }, { "id": 24, "user_id": 13, "place_id": 4, "text": "Galera gente boa e bebida geladíssima!", "stickers": [5,17], "timestamp": "2013-06-19 23:36:38", "reply": null }, { "id": 25, "user_id": 16, "place_id": 5, "text": "Fila grande, aff. Só consegui entrar agora, desculpa.", "stickers": [6], "timestamp": "2013-06-19 23:37:01", "reply": null }, { "id": 26, "user_id": 22, "place_id": 5, "text": "Ui, chegou o mestre, ui.", "stickers": [16], "timestamp": "2013-06-19 23:37:54", "reply": 26 }, { "id": 27, "user_id": 19, "place_id": 4, "text": "Preços justos os das comidas.", "stickers": [1,4], "timestamp": "2013-06-19 23:38:27", "reply": null }, { "id": 28, "user_id": 16, "place_id": 5, "text": "¬¬", "stickers": [16], "timestamp": "2013-06-19 23:38:29", "reply": 26 }, { "id": 29, "user_id": 15, "place_id": 4, "text": "Ambiente muito animado e diferente.", "stickers": [11,0], "timestamp": "2013-06-19 23:39:18", "reply": null }, { "id": 30, "user_id": 14, "place_id": 4, "text": "Esto, cabrón! o/", "stickers": [16], "timestamp": "2013-06-19 23:39:48", "reply": 29 }, { "id": 31, "user_id": 14, "place_id": 4, "text": "Muitas opções de bebidas. Tequila, baby!", "stickers": [5,0], "timestamp": "2013-06-19 23:41:43", "reply": null }, { "id": 32, "user_id": 17, "place_id": 6, "text": "Não tá tão bom assim. Poucos drinks pra muita gente :/", "stickers": [10,3], "timestamp": "2013-06-19 23:39:18", "reply": null }, { "id": 33, "user_id": 18, "place_id": 6, "text": "Mas as pessoas daqui são interessantes e o ambiente é agradável.", "stickers": [17], "timestamp": "2013-06-19 23:42:18", "reply": 32 }, { "id": 34, "user_id": 20, "place_id": 6, "text": "É pow. Tá legal :)", "stickers": [16], "timestamp": "2013-06-19 23:44:58", "reply": 33 }, { "id": 35, "user_id": 23, "place_id": 6, "text": "Muita gente. Não tô encontrando meus amigos.", "stickers": [15,7], "timestamp": "2013-06-19 23:46:12", "reply": null }, { "id": 36, "user_id": 17, "place_id": 6, "text": "Verdade...", "stickers": [16], "timestamp": "2013-06-19 23:48:01", "reply": 35 }, { "id": 37, "user_id": 13, "place_id": 4, "text": "Música mexicana bombando!", "stickers": [11], "timestamp": "2013-06-19 23:48:26", "reply": null }, { "id": 38, "user_id": 22, "place_id": 5, "text": "Música massa aqui.", "stickers": [11], "timestamp": "2013-06-19 23:49:28", "reply": null }, { "id": 39, "user_id": 24, "place_id": 5, "text": "Pode crer! Muito massa pow! O lugar tá muito bom! Só foi um pouco complicado pra chegar...", "stickers": [17,12], "timestamp": "2013-06-19 23:52:00", "reply": 38 }, { "id": 40, "user_id": 19, "place_id": 4, "text": "Atendimento tá complicado por aqui u.u", "stickers": [3], "timestamp": "2013-06-19 23:53:44", "reply": null } ] }
Galera, estou usando no cliente esse seguinte esquema de identificação dos stickers:
dinheiro - ruim = 0 dinheiro - neutro = 1 dinheiro - bom = 2 comida - ruim = 3 comida - neutro = 4 comida - bom = 5 fila - ruim = 6 fila - neutro = 7 fila - bom = 8 musica - ruim = 9 musica - neutro = 10 musica - bom = 11 acessibilidade - ruim = 12 acessibilidade - neutro = 13 acessibilidade - bom = 14 pessoas - ruim = 15 pessoas - neutro = 16 pessoas - bom = 17
Eu sei que isso não é algo específico do servidor, mas eu queria deixar separado aqui a definição deles. @LuizVasconcelos , arruma o json para ficar com essas ids de stickers ?