RafaelMarinheiro / Stig-Server

Other
0 stars 0 forks source link

Ids dos stickers... #5

Closed lucasvtenorio closed 10 years ago

lucasvtenorio commented 10 years ago

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 ?

Cisneiros commented 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?

Cisneiros commented 10 years ago

@RafaelMarinheiro Dá uma olhada e opina! :D

LuizVasconcelos commented 10 years ago

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 .

Cisneiros commented 10 years ago

Precisamente. :)

LuizVasconcelos commented 10 years ago

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 .

PedroHRDiniz commented 10 years ago

Concordo com Alexandre.

lucasvtenorio commented 10 years ago

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

RafaelMarinheiro commented 10 years ago

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.

LuizVasconcelos commented 10 years ago

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 } ] }