Home | Sprints | Requisitos | Arquitetura | Configuração | Mockups | BD | Instalação | GP | Horários | Processo |
---|
Página do Banco de Dados
Aqui deve ser explicado com modelos e explicações como o Banco de Dados foi construido, onde se deve focar em:
- Como ele foi desenvolvido, com Imagens e Diagramas
- o Collections(Entities)
- o ScriptSQL
Modelagem Lógica:
Entidades:
usuario: Como o sistema de login será utilizando login com o Google, armazenaremos somente o email do usuario, para poder relaciona-lo com outras entidades.
filme: De acordo com as definicões retiradas das reuniões com os stakeholders, sobre filmes é necessário armazenar: título, título original, sinopse, crítica, curador que botou o filme no sistema, ano de lançamento, e o path para o banner do filme. Além disso também estamos utilizando um idFilme como PK.
conquista: De acordo com as definicões retiradas das reuniões com os stakeholders, sobre conquistas é necessário armazenar: titulo, descricao, e imagem da conqusita. Além disso também estamos usando um id como PK e armazenando a meta que o usuário precisa alcançar para obter a conquista.
tag: De acordo com as definicões retiradas das reuniões com os stakeholders, sobre tags é necessário armazenar: somente o seu nome, mas também utilizamos um ID como PK.
plataforma: De acordo com as definicões retiradas das reuniões com os stakeholders, sobre plataforma é necessário armazenar: somente o seu nome, mas também utilizamos um ID como PK.
Entidades de relacionamento:
Sobre filtros:
preferencia_plataforma: Linka o email do usuario com o id da plataforma (as 2 PK), para fazer a relacao de N x N sobre filtrar os filmes por plataforma para um usuário especifico.
preferencia_tag: linka o email do usuario com o id da tag (as 2 PK), para fazer a relacao de N x N sobre filtrar os filmes por tag para um usuário específico.
Aleatoridade no filtro: Deixamos a taxa de aleatoriedade dos filtros na propria entidade usuário.
Sobre filmes:
filme_plataforma: Entidade de relacionamento que linka o idFilme com idPlataforma, para fazer a relação de N x N entre plataformas nas quais o filme específico está disponível.
filme_tag: Entidade de relacionamento que linka o idFilme com idTag, para fazer a relação de N x N entre tags que um filme específico possui.
Sobre usuarios:
usuario_conquista: Entidade de relacionamento que linka o id usuario a id conquista, serve tanto para armazenar as conquistas adquiridas quanto o progresso de conquistas nao adquiridas, utilizando metaPontuacao<=atualPontuacao.
jaVi: Entidade de relacionamento feita para armazenar os filmes ja vistos do usuário, linkando o idFilme com idUsuario e ainda armazenando em um booleano se o usuário gostou do filme ou não.
queroVer: Entidade de relacionamento feita para armazenar os filmes que o usuário quer ver, linkando o idFilme com idUsuario.
Sobre conquistas:
conquista_filme: Entidade de relacionamento feita para armazenar os filmes relacionadios à uma conquista específica.
conquista_tag: Entidade de relacionamento feita para armazenar as tags relacionadas à uma conquista específica.