Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • I Idoso Mais Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • IDOSO Mais
  • Idoso Mais Wiki
  • Wiki
  • Banco_de_Dados

Last edited by Vitor Hugo Garcez Jun 13, 2023
Page history

Banco_de_Dados

Home

Escopo e Cronograma

Processo

Design/Mockups

Configuração

Arquitetura

Código

BD

Qualidade

Banco de Dados

MongoDB_Logo.svg

Descrição

Para realização do projeto, escolhemos utilizar o banco de dados não relacional Mongo DB. A razão pela escolha deste modelo de banco de dados se deu principalmente por escolha do time em aprender novas tecnologias, pela facilidade de integração com o backend da aplicação e também devido ao projeto possuir somente uma entidade a ser armazenada, que é o Usuário.

Sumário

  • Modelagem
    • Esquema Conceitual
    • Collection
  • Implementação
    • Schemas

Modelagem

Esquema Conceitual

banco_de_dados

Collections

As informações dentro do banco de dados MongoDB são armazenadas dentro de collections ou coleções. Coleções são equivalentes a tabelas de banco de dados relacionais, guardando informações importantes em relação a uma entidade.

Coleção de usuário:

{ "_id": { 
     "$oid": "objectId" 
}, 
"nome": "String", 
"password": "String", 
"cpf": "String", 
"telefone": "String", 
"email": "String", 
"numeroINSS": "String", 
"endereco": { 
      "cep": "String", 
      "nomeRua": "String", 
      "numeroCasa": "String", 
      "complemento": "String",
      "bairro": "String", 
      "cidade": "String", 
      "estado": "String"
},
"contatosProfissionais": [
    {
      "telefoneProfissional": "String",
      "nomeProfissional": "String",
      "descricao": "String"
    },
],
"contatoEmergencia": "String",
"administrador": "bool",
"medicamentos": "String",
"planoDeSaude": "String"
}

Implementação

Schemas

Schema do usuário:

@Schema()
export class User implements IUser {
  @Prop({ required: true })
  nome: string;

  @Prop({ required: true })
  password: string;

  @Prop({ required: true })
  cpf: string;

  @Prop({ required: true })
  telefone: string;

  @Prop({ required: true })
  email: string;

  @Prop()
  numeroINSS?: string;

  @Prop()
  planoDeSaude?: string;

  @Prop(Address)
  endereco?: Address;

  @Prop()
  medicamentos?: string;

  @Prop({ required: true })
  contatosProfissionais: Contact[];

  @Prop({ required: true })
  contatoEmergencia: string;

  @Prop({ required: true })
  administrador: boolean;
}

Schema dos contatos:

@Schema()
export class Contact implements IContact {
  telefoneProfissional: string;
  nomeProfissional: string;
  descricao?: string;
}

Schema de endereço:

@Schema()
export class Address implements IAddress {
  cep: string;
  nomeRua: string;
  numeroCasa: string;
  complemento?: string;
  bairro?: string;
  cidade: string;
  estado?: string;
}
Clone repository
  • Banco_de_Dados
  • Gerência
  • Horários disponíveis
  • Instalação
  • Retro
  • Utilizando a wiki
    • adicionando imagens
    • escrevendo em markdown
    • wiki no editor de texto
  • arquitetura
  • codigo
  • configuracao
  • design_mockups
  • escopo
  • estudos
  • gerencia
View All Pages