-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modelagem: Usuário e Perfil #1
Comments
Não sei se entendi, mas no modelo que tínhamos pensado a autenticação e perfil seria responsabilidade do Viralata. Então o PerguntaCamara não teria a senha e nem o perfil. |
Eu já nem lembrava do viralata. Mas eu acho que faz sentido manter o perfil, já que ele não tem uma relação obrigatória com a autenticação (e.g. filtrar mensagens enviadas, relacionar respostas e conversas). Eu dei uma olhada no código do tagarela para tentar entender como implementar o viratala no pergunta-camara, mas não tenho certeza se eu entendi bem. Eu vou pular essa parte e assim que estiver funcionando, eu atualizo essa issue, ok? Aproveitando: você acha que faz sentido manter esse tipo de issue ou é melhor escrevermos direto na wiki e abrir issues apenas para discutir as alterações? [ ]'s |
Depende de que tipo de informações teria nesse perfil... Minha única preocupação é duplicar informações tanto no Viralata como no PerguntaCamara. Para ser sincero não lembro mais exatamente o que tinha que fazer para funcionar com o Viralata. Acho que faz sentido manter isso nas issues sim. |
A ideia é ter o que não deveria [IMO] ter no viralata (e.g.: email e bairro). Na branch `pyramid-bootstrap-, eu implementei uma auth simples com jwt. Vou deixar parado esas parte para conseguir terminar o CRUD de mensagens/conversa. Assim que eu terminar essa parte, eu volto para usar o viralata. |
Então, quando eu precisei adicionar um texto de perfil para o usuário, eu fiquei na dúvida sobre onde colocar. As opções principais que pensei eram: ou colocar no Viralata, ou criar um microserviço só para perfil de usuário. Eu realmente não estava querendo criar mais um microserviço só para isso. Me pareceu um exagero para só mais um ou outro campo de texto, e seria mais um módulo para dar manutenção, hospedar, etc. |
O perfil não tem a ver com autenticação, então eu acho que não faz sentido ficar no Viralata.
Eu acho que deveriam sim. Ainda pensando em micro serviço: não é duplicar, já que um serviço não sabe da existência do outro. O PerguntaCamara é uma ferramenta para o Cuidando, mas não sabe da existência do EsicLivre. Essa é a parte que eu não fico confortável com micro serviço: não tenho domínio do negócio, então optaria por um monolítico até ficar um pouco mais confortável. Vou fazer o seguinte: para simplificar a modelagem, eu vou remover o perfil e deixar apenas usuário (um perfil simples apenas para registrar "quem fez a pergunta"). |
O perfil me parece ter mais a ver com autenticação do que com perguntas para a câmara, porque tanto perfil como autenticação são coisas relacionadas ao usuário...
Todos guardariam e-mail, por exemplo? E se o usuário quiser trocar o e-mail? A interface teria que mandar trocar em todos os micro serviços? E se der falha com um mas não nos outros?
Você lembra como fizemos no EsicLivre?
Você prefere fazer esse módulo em um modelo monolítico, sem usar o Viralata? Pensando nele de forma isolada me parece ok. O problema que vejo seria para usar depois ele no Cuidando...
Humm, não sei se entendi o que você quer dizer, mas acho que é: se ele não sabe da existência dos outros serviços, como ele vai pegar as informações deles? No caso, se o PerguntaCamara não tem essas informações de perfil, como ele vai usá-las? É isso? Se for, eu acho que é uma boa pergunta. hahah Dai você diz: nossa que complicado! Será que não valeria mais a pena fazer tudo isso em monolítico? |
Para não precisarmos documentar o projeto depois, eu acho interessante usarmos alguma tag como RFC (Request For Comments) para ao menos discutir detalhes iniciais e conforme
Usuário
O usuário é utilizado apenas para autenticação. Dados como nome, bairro e etc estão relacionados a um perfil (e.g. Citzen e Councillor). Mesmo o projeto sendo um complemento ao CDMB, eu acho que podemos desenvolvê-lo de uma maneira independente e assim permitir que ele seja utilizado em outras iniciativas.
Perfil
Perfil é utilizado para representar os dados do usuário [do sistema] que não estão relacionados a autenticação. Por enquanto, eu só consigo pensar em dois perfis: Cidadão e Vereador. O vereador também é um cidadão, mas dentro de uma "conversa" (pergunta/resposta/réplica/etc) ele atua em outro perfil. (nada impede o vereador de utilizar o sistema enquanto cidadão)
Observação
Essa é apenas a primeira versão. Podemos discutir a partir desse ponto e atualizar esse texto. Eu não entrei no detalhe sobre relacionamento, implementação e etc, mas qualquer ideias relacionada é valida...
The text was updated successfully, but these errors were encountered: