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 13
    • Issues 13
    • 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
  • Projeto Focus
  • Wiki
  • Wiki
  • banco_dados

banco_dados · Changes

Page history
Update banco_dados authored Jun 12, 2023 by Gustavo Santos Silva's avatar Gustavo Santos Silva
Show whitespace changes
Inline Side-by-side
banco_dados.md
View page @ eb08bb60
......@@ -2,19 +2,71 @@
| :----------: | :----------------------: | :------------------: | :--------------: | :--------------------------: | :------------------------: | :--------------: | :---------------: | :--------------------: | :------------------------: |
# **Banco de Dados**
(LOGO)
![image](uploads/42542924af35a4e006e7c6fc27d2d9cd/image.png)
## **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.
O Firebase é uma plataforma de desenvolvimento de aplicativos fornecida pela Google. Ela inclui um banco de dados em tempo real chamado Firebase Realtime Database, que é uma solução NoSQL altamente escalável. O Firebase Realtime Database armazena dados como um grande objeto JSON, permitindo que os desenvolvedores criem aplicativos em tempo real com atualizações automáticas.
## **Sumário**
Nesta documentação, vamos explorar a estrutura do banco de dados Firebase, juntamente com os schemas para as coleções Objective e User.
- [Modelagem](#modelagem)
- [Entidade-Relacionamento](#Entidade-Relacionamento)
## **Modelagem do Banco de Dados**
- [Esquema Entidade-Relacionamento](#Entidade-Relacionamento)
![image](uploads/d7307824639c3c156356376ebed66758/image.png)
- [Esquema-Lógico](#Entidade-Relacionamento)
## **Estrutura do Banco de Dados Firebase**
O Firebase Realtime Database organiza os dados em uma estrutura de árvore, onde cada nó é identificado por uma chave exclusiva. Os nós podem conter outros nós e/ou valores primitivos.
````
/users
/<user_id>
name: "Nome do Usuário"
notificationTime: 12
dailyGoal: 5
/objectives
/<objective_id>
name: "Nome do Objetivo"
/phrases
/<phrase_id>
text: "Texto da Frase"
/phrases
/<phrase_id>
text: "Texto da Frase"
````
Na estrutura acima, temos um nó raiz chamado users, que contém nós filhos identificados por IDs de usuário (<user_id>). Cada nó de usuário possui os seguintes atributos:
*name: O nome do usuário (String).
*notificationTime: O horário de notificação do usuário (int).
*dailyGoal: A meta diária do usuário (int).
*objectives: Um nó que armazena os objetivos do usuário.
*phrases: Um nó que armazena as frases do usuário.
Dentro do nó objectives, encontramos nós identificados por IDs de objetivo (<objective_id>). Cada nó de objetivo possui os seguintes atributos:
*name: O nome do objetivo (String).
*phrases: Um nó que armazena as frases relacionadas ao objetivo.
Dentro do nó phrases, encontramos nós identificados por IDs de frase (<phrase_id>). Cada nó de frase possui o seguinte atributo:
*text: O texto da frase (String).
## **Schemas das Coleções**
A seguir, apresentamos os schemas das classes 'Objective' e 'User' em Dart, que representam a estrutura de dados mencionada acima.
- [Collection](#collections)
Coleções do Firebase Realtime Database
Coleção users
Esta coleção armazena os dados dos usuários registrados no aplicativo.
- [Implementação](#implementa%C3%A7%C3%A3o)
- [Schemas](#schemas)
\ No newline at end of file
Clone repository
  • 1º Encontro com Stakeholder
  • Gerenciamento do Projeto
  • Mocks
  • Planing Poker
  • User Stories
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • design
  • escopo e cronograma
  • Home
  • horarios
  • instalacao
  • processos
View All Pages