Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W 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
  • Lobo-guará
  • Wiki
  • Wiki
  • Banco de Dados

Last edited by Luis Felipe Copetti Rossi Jun 18, 2025
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Banco de Dados

Home Escopo e Cronograma Processo Design/Mockups Configuração Arquitetura Infra Código BD

Modelo de Dados

Abaixo, segue o modelo de dados proposto para o aplicativo.

Entidades

users

Tabela que armazena os dados de todos os usuários da plataforma, incluindo refugiados, administradores e representantes de instituições.

Campo Tipo Descrição
id String Identificador único do usuário
name String Nome completo
email String E-mail
password String Senha (criptografada)
phone String Telefone
city String Cidade
state String Estado
language LanguageEnum Idioma preferido
created_at DateTime Data de criação
deleted_at DateTime Data de exclusão (soft delete)
updated_at DateTime Última atualização
role RoleEnum Papel na plataforma

RoleEnum

  • ADMIN
  • REFUGIE
  • INSTITUTION

LanguageEnum

  • PORTUGUESE
  • ENGLISH
  • SPANISH

refugies

Contém informações específicas de usuários com papel de refugiado.

Campo Tipo Descrição
id String Identificador do refugiado
userId String Referência à tabela users

institutions

Instituições que oferecem apoio ou oportunidades a refugiados.

Campo Tipo Descrição
id String Identificador da instituição
cnpj String CNPJ da organização
latitude Float Latitude geográfica
longitude Float Longitude geográfica
userId String Referência ao usuário responsável
status InstitutionStatusEnum Situação da instituição

InstitutionStatusEnum

  • WAITING
  • ACTIVE
  • INACTIVE

admins

Armazena usuários com papel administrativo no sistema.

Campo Tipo Descrição
id String Identificador do admin
userId String Referência à tabela users

subjects

Assuntos gerais da comunidade, usados como categorias nos tópicos.

Campo Tipo Descrição
id String Identificador
name varchar(16) Nome do assunto
description varchar(256) Descrição do assunto

tags

Etiquetas para classificar e organizar assuntos.

Campo Tipo Descrição
id String Identificador
subject_id String Referência à tabela subjects
name varchar(16) Nome da tag

topics

Tópicos de discussão criados por usuários.

Campo Tipo Descrição
id String Identificador do tópico
subject_id String Referência ao assunto
author_id String Usuário criador
description varchar(1000) Conteúdo do tópico
views integer Quantidade de visualizações

messages

Mensagens em tópicos, podendo ser respostas a outras mensagens.

Campo Tipo Descrição
id String Identificador da mensagem
topic_id String Referência ao tópico
parent_id String Mensagem pai (para replies)
author_id String Autor da mensagem
content varchar(1000) Texto da mensagem
creation_dt timestamp Data e hora de criação
nmb_likes integer Número de curtidas

auth_tokens

Tokens de autenticação utilizados para operações específicas.

Campo Tipo Descrição
id String Identificador
token String Valor do token
user_id String Referência ao usuário
type TokenTypeEnum Tipo do token
expires_at DateTime Expiração
created_at DateTime Data de criação
used_at DateTime Data de uso

TokenTypeEnum

  • PASSWORD_RESET
  • EMAIL_VERIFICATION
  • ACCOUNT_ACTIVATION

Relacionamentos

  • Um usuário pode ser um refugiado, instituição ou administrador, dependendo do valor do campo role.
  • A tabela refugies se relaciona 1:1 com users.
  • A tabela institutions também possui um relacionamento 1:1 com users, indicando o representante da instituição.
  • A tabela admins relaciona administradores a usuários.
  • Um assunto (subject) pode possuir várias tags e vários tópicos.
  • Um tópico é criado por um usuário e pertence a um assunto.
  • Uma mensagem pertence a um tópico e pode ser uma resposta a outra mensagem.
  • Um usuário pode possuir múltiplos tokens de autenticação para diferentes finalidades.

Ages-lobo-guara-alt

Clone repository
  • Arquitetura do Projeto
  • Banco de Dados
  • Configuração do Ambiente
  • Código
  • Escopo e Cronograma
  • Processos
  • codigo
  • design
    • mockups
  • Home
  • mockups