Documentação do negócio
Documentação técnica
\mathbb{BANCO \space DE \space DADOS}
Modelagem do Banco de Dados
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:
-
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.
-
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.