mglnb / WebSports-2.0

Repositório para o projeto de desenvolvimento, WebSports é um programa para gerenciamento de quadras poliesportivas
MIT License
0 stars 0 forks source link

ER #28

Closed javielrezende closed 7 years ago

javielrezende commented 7 years ago

Nosso usuário está envolvendo tanto funcionários como clientes. Porém na tabela nosso campo de senha está como not null. Isso é um problema, já que clientes cadastrados, como não possuem acesso ao sistema, não precisam ter senha.

Na mesma tabela temos um campo tipo, para indicar se é cliente, usuario, administrado, etc... Temos que ver como vamos organizar essas idéias.

mglnb commented 7 years ago

Na real um cliente não será mais um usuário, acho que deveríamos ter só uma tabela cliente com os dados dele. 🤔

O tipo, deveria ser só entre usuário normal e administrador, apenas para ter um controle caso o lugar tenha mais de um funcionário para realizar reservas

javielrezende commented 7 years ago

Está ótimo

javielrezende commented 7 years ago

Ok pessoal, banco de dados atualizado e está funcionando. Para uma breve explicação para todos aqui do projeto. Íamos fazer nosso banco com uma tabela de usuários(funcionários) e outra de clientes, porém a de usuários teria somente senha e tipo(para dizer se era adm ou não) e teríamos uma chave estrangeira desta tabela na tabela de clientes, que por sua vez tem nome, e-mail, etc... Não duplicaríamos campos iguais(nome, endereço, etc...) para duas tabelas desnecessariamente, pois na nossa concepção um cliente podería ser um usuário, já teria seu cadastro como cliente e caso alugasse um período na quadra já estaria com seu cadastro perfeitamente atualizado...

Porém, como temos o controle de acesso dos funcionários implementado pelo Passport do Laravel, ele por si só já implementa as tabelas necessárias para esse controle no banco, onde uma dessas tabelas é o user que já possui nome, email e senha. Seria uma grande complicação unificar essa tabela user com nossa usuário. Então decidimos separar, ficando a tabela de usuário, totalmente independente de cliente.