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
Hide whitespace changes
Inline Side-by-side
banco_dados.md
View page @ 0784a938
...@@ -22,6 +22,7 @@ Nesta documentação, vamos explorar a estrutura do banco de dados Firebase, jun ...@@ -22,6 +22,7 @@ Nesta documentação, vamos explorar a estrutura do banco de dados Firebase, jun
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. 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.
# **Estrutura da Árvore de Dados**
```` ````
/users /users
/<user_id> /<user_id>
...@@ -41,32 +42,94 @@ O Firebase Realtime Database organiza os dados em uma estrutura de árvore, onde ...@@ -41,32 +42,94 @@ O Firebase Realtime Database organiza os dados em uma estrutura de árvore, onde
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: 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). * name: O nome do usuário (String).
*notificationTime: O horário de notificação do usuário (int). * notificationTime: O horário de notificação do usuário (int).
*dailyGoal: A meta diária do usuário (int). * dailyGoal: A meta diária do usuário (int).
*objectives: Um nó que armazena os objetivos do usuário. * objectives: Um nó que armazena os objetivos do usuário.
*phrases: Um nó que armazena as frases 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: 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). * name: O nome do objetivo (String).
*phrases: Um nó que armazena as frases relacionadas ao objetivo. * 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: 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). * text: O texto da frase (String).
## **Schemas das Coleções** ## **Schemas das Coleções**
A seguir, apresentamos os schemas das classes 'Objective' e 'User' em Dart, que representam a estrutura de dados mencionada acima. A seguir, apresentamos os schemas das classes 'Objective' e 'User' em Dart, que representam a estrutura de dados mencionada acima.
*Objective*
```
class Objective {
String name;
List<Phrase> phrases;
Objective({required this.name, required this.phrases});
- [Collection](#collections) Map<String, dynamic> toJson() {
List phrasesJson = phrases.map((e) => e.toJson()).toList();
return {
'name': name,
'phrases': phrasesJson,
};
}
}
class Phrase {
String text;
Phrase({required this.text});
Map<String, dynamic> toJson() {
return {'text': text};
}
}
````
*User*
````
import 'objective.dart';
import 'phrase.dart';
class User {
final String? name;
final int? notificationTime;
final int? dailyGoal;
final List<Objective>? objectives;
final List<Phrase>? phrases;
const User({
this.name,
this.notificationTime,
this.dailyGoal,
this.objectives,
this.phrases,
});
Map<String, dynamic> toJson() {
List objectivesJson = objectives!.map((e) => e.toJson()).toList();
List phrasesJson = phrases!.map((e) => e.toJson()).toList();
return {
'name': name,
'notificationTime': notificationTime,
'dailyGoal': dailyGoal,
'objectives': objectivesJson,
'phrases': phrasesJson,
};
}
}
````
Os schemas acima definem as classes Objective e Phrase, que representam as estruturas de dados dos objetivos e frases, respectivamente. A classe User contém os atributos correspondentes aos dados do usuário, incluindo listas de objetivos e frases.
## **Conclusões**
Esta documentação forneceu uma visão geral do banco de dados Firebase e apresentou os schemas para as coleções Objective e User. Com essas informações, os desenvolvedores podem entender a estrutura do banco de dados e como os dados são organizados no Firebase Realtime Database.
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