Home | Escopo e Cronograma | Processo | Design/Mockups | Configuração | Arquitetura | Código | BD | Qualidade | Utilização |
---|
Banco de Dados
Descrição
O banco de dados escolhido pelo time é o Firebase, um banco de dados NoSql. Escolhemos o Firebase por suas funcionalidades e praticidade, além de encaixar de forma excelente no propósito do nosso projeto, de desenvolver um mvp. Algumas vantagens do Firebase são a fácil manipulação e estruturação, estrutura flexível e alguns recursos extras como o Firebase Authentication.
Modelagem Conceitual
A Modelagem Conceitual consiste na representação dos requisitos levantados da aplicação, bem como suas regras de negócio, ou seja, o que será armazenado no BD. O objetivo foi criar um Diagrama Entidade e Relacionamento (DER), que identifique todas as entidades e relacionamentos de uma forma global do software
Coleções
Por ser um banco de dados documental, as informações são persistidas em coleções. Para nosso app pensamos nas seguintes coleções.
Coleção user:
{
Id (hash)
Name (string)
Username (string)
Telefone(Object array)[{
Id(hash)
Ddd(int)
TipoTelefone(string)
NumeroTelefone(string)
}]
Genero(char/string)
Endereco(Object array)[{
Id(hash)
CEP(string)
Rua(string)
Numero(int)
Complemento(string)
Bairro(string)
Cidade(string)
Estado(string)
}]
}
Coleção post:
{
Id (hash)
isActive(boolean)
QtdLike(int)
Image(object)
Descricao(string)
Tags(object array)[{
NomeTag(string)
TagId(hash)
}]
Like(object array)[{
IdPerfil(hash) || IdUser(hash)
}]
Comentarios(object array)[{
IdUser(hash)
}]
}
Coleção Perfil:
{
Id (hash)
Descricao (string)
us(hash)
Posts(Object array)[{
idPost(hash)
}]
}
Coleção Denuncia: ---Não sei que campos colocar (À definir)
{
Id (hash)
Idade(int)
nome(string) ? - É anônimo?
Acontecimento(string)
Endereco(object)
LocalViolencia(string)
Suspeito(object)
PossuiDeficiencia(boolean)
Descricao(string)
}