|
|
|
|
|
|
|
|
[![](https://img.shields.io/badge/Home-000000?style=for-the-badge&logo=markdown&logoColor=white)](home)
|
|
|
|
|
|
# Documentação do negócio
|
|
|
[![](https://img.shields.io/badge/Sprints-000000?style=for-the-badge&logo=markdown&logoColor=white)](sprints)
|
|
|
[![](https://img.shields.io/badge/Requisitos-000000?style=for-the-badge&logo=markdown&logoColor=white)](requisitos)
|
|
|
[![](https://img.shields.io/badge/Processos-000000?style=for-the-badge&logo=markdown&logoColor=white)](processos)
|
|
|
[![](https://img.shields.io/badge/Gerência-000000?style=for-the-badge&logo=markdown&logoColor=white)](gerencia)
|
|
|
[![](https://img.shields.io/badge/Horários-000000?style=for-the-badge&logo=markdown&logoColor=white)](horarios)
|
|
|
|
|
|
# Documentação técnica
|
|
|
[![](https://img.shields.io/badge/Arquitetura-000000?style=for-the-badge&logo=markdown&logoColor=white)](arquitetura)
|
|
|
[![](https://img.shields.io/badge/Mockups-000000?style=for-the-badge&logo=markdown&logoColor=white)](mockups)
|
|
|
[![](https://img.shields.io/badge/Banco_de_dados-FF7518?style=for-the-badge&logo=markdown&logoColor=black)](banco_dados)
|
|
|
[![](https://img.shields.io/badge/Instalação-000000?style=for-the-badge&logo=markdown&logoColor=white)](instalacao)
|
|
|
|
|
|
---
|
|
|
|
|
|
# $`\mathbb{BANCO \space DE \space DADOS}`$
|
|
|
|
|
|
---
|
|
|
|
|
|
### Modelagem do Banco de Dados
|
|
|
![Modelagem_do_Banco_de_dados.drawio.svg](uploads/7828894c34e91901151f537a8913a8b9/Modelagem_do_Banco_de_dados.drawio.svg)
|
|
|
[Acesse aqui o modelo.](https://drive.google.com/file/d/1qNHJikKQOs-Y8DoCGTpJWnpFFYtVdM-w/view?usp=sharing) |
|
|
\ No newline at end of file |
|
|
|
|
|
![Modelagem_do_Banco_de_dados.drawio.svg](uploads/7828894c34e91901151f537a8913a8b9/Modelagem_do_Banco_de_dados.drawio.svg) [Acesse aqui o modelo.](https://drive.google.com/file/d/1qNHJikKQOs-Y8DoCGTpJWnpFFYtVdM-w/view?usp=sharing)
|
|
|
|
|
|
## Firebase no Projeto
|
|
|
|
|
|
O Firebase é uma plataforma de desenvolvimento de aplicativos móveis e web que fornece uma variedade de serviços, incluindo autenticação, banco de dados em tempo real, armazenamento de arquivos, hospedagem e muito mais. No "Planning Poker Online", estamos utilizando principalmente os seguintes componentes do Firebase:
|
|
|
|
|
|
### 1. Firebase Realtime Database
|
|
|
|
|
|
O Firebase Realtime Database é usado para armazenar e sincronizar dados em tempo real entre os clientes. No nosso caso, ele é empregado para armazenar informações sobre sessões de planning, votos, usuários e detalhes das sessões.
|
|
|
|
|
|
### 2. Firebase Authentication
|
|
|
|
|
|
O Firebase Authentication é utilizado para autenticar e gerenciar a identidade dos usuários da aplicação. No "Planning Poker Online", estamos implementando uma opção de **autenticação anônima**.
|
|
|
|
|
|
## Fluxo de Dados
|
|
|
|
|
|
O Firebase é integrado ao projeto da seguinte forma:
|
|
|
|
|
|
1. **Autenticação Anônima:**
|
|
|
- Os usuários têm a opção de entrar anonimamente, sem a necessidade de fornecer informações pessoais.
|
|
|
- Eles podem escolher um perfil identificador para sua sessão.
|
|
|
- As informações de autenticação anônima são usadas para controlar o acesso a sessões específicas e identificar os usuários dentro de uma sessão.
|
|
|
2. **Firebase Realtime Database:**
|
|
|
- Dados sobre sessões, votos e outros detalhes são armazenados no Firebase Realtime Database.
|
|
|
- As alterações nos dados são refletidas em tempo real em todos os clientes conectados, permitindo a colaboração em tempo real durante as sessões de estimativa.
|
|
|
|
|
|
## Regras de Segurança
|
|
|
|
|
|
Para garantir a segurança dos dados dos usuários e a integridade dos dados do projeto, implementamos regras de segurança personalizadas no Firebase Realtime Database. Essas regras controlam quem pode acessar, ler e gravar dados específicos. Regras rigorosas de segurança são aplicadas para proteger as informações confidenciais dos usuários e as sessões de estimativa.
|
|
|
|
|
|
**Permissões de Acesso:** - Apenas o **backend** tem permissão para criar sessões. - **Usuários móveis** podem votar nas sessões criadas pelo backend. - O **aplicativo web** tem a capacidade de realizar o voto final. |
|
|
\ No newline at end of file |