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 (string)
name (string)
email (string)
username (string)
phone(Object array)[{
id(string)
ddd(number)
phoneType(string)
number(string)
}]
gender(string)
Addresses(Object array)[{
id (string)
cep (string)
street (string)
number (number)
complement (string)
district (string)
city (string)
state (string)
}]
showUserName (boolean)
Profile(object array)[{
description (string)
followers (number)
following (number)
pictureURL(string)
}]
}
Coleção post:
{
id (string)
userId (string)
description (string)
imageUrls (string[])
}
Coleção Denuncia:
{
id (string)
userId (string)
age (string)
complainerName (string)
report (string)
address (Address)
violenceAdress (Address)
suspect (string)
victim (string)
isAggressorDeficient (boolean)
isVictimDeficient (boolean)
reportDetails (string)
complaintDate (number)
}