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.
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)
Genero(char/string)
Endereco(Object array)[{
EnderecoId(hash)
}]
}
Coleção post:
{
Id (hash)
isActive(boolean)
Image(object)
Descricao(string)
Tags(object array)[{
TagId(hash)
}]
}
Coleção Endereco:
{
Id(hash)
CEP(string)
Endereco(object)
Numero(int)
Complemento(string)
Bairro(string)
Cidade(string)
Estado(string)
}
Coleção Telefone:
{
Id(hash)
TipoTelefone(string)
NumeroTelefone(string)
}
Coleção Perfil:
{
Id(hash)
Descricao(string)
User(object)
Posts(object array) [{
PostId(hash)
isActive(boolean)
}]
PerfilSeguidores(object array) ---ANALISAR FORMA DE GUARDAR SEGUIDORES
PerfilSeguindo(object array)
}
Coleção PerfilSeguidores:
{
Id(hash)
PerfilSeguidor(object) ---ANALISAR FORMA DE GUARDAR SEGUIDORES
IdPerfil(hash)
}
Coleção PerfilSeguindo:
{
Id(hash)
PerfilSeguindo(object) ---ANALISAR FORMA DE GUARDAR SEGUIDORES
IdPerfil(hash)
}
Coleção Comentarios:
{
Id(hash)
IdPost(string)
Comentario(string)
Resposta(object array)[{
IdResposta(hash)
}]
}
Coleção Resposta:
{
Id(hash)
IdComentario(string)
Resposta(string)
}
Coleção Like:
{
IdPerfil(hash)
IdPost(hash)
}