1.9 KiB
1.9 KiB
Estrutura de Dados e Firebase - Cuida+
Este documento documenta como a aplicação utiliza o Firebase para armazenamento e autenticação.
1. Firebase Authentication
- Métodos: Email e Password.
- Identificação: O
UIDdo utilizador é usado como chave estrangeira em todas as coleções do Firestore para garantir a privacidade dos dados.
2. Cloud Firestore (Bancos de Dados NoSQL)
A aplicação utiliza as seguintes coleções principais:
👤 Coleção: utilizadores
Guarda o perfil do utilizador.
- Campos:
name,email,profilePictureUri,phone. - Chave: UID do Firebase Auth.
💊 Coleção: medicamentos
Guarda a lista de remédios de cada utilizador.
- Campos:
name: Nome do fármaco.time: String com horários (ex: "08:00, 22:00").dosage: Via de administração (ex: "Via Oral").notes: Notas adicionais.isTaken: Boolean (estado atual).userId: UID do proprietário.
📅 Coleção: appointments
Guarda as marcações de consultas.
- Campos:
doctorName,date,time,description,userId.
👨⚕️ Coleção: medicos
Lista de profissionais disponíveis para agendamento.
- Campos:
name,specialty,role(deve ser 'medico').
3. Realtime Database
Utilizado especificamente para a funcionalidade de Autocomplete / Pesquisa de Medicamentos.
- Nó:
medicationoumedicamentos. - Conteúdo: Lista global com milhares de nomes de medicamentos para sugestão rápida durante a escrita (sem necessidade de carregar do Firestore para poupar custos e ganhar velocidade).
4. Segurança (Regras Sugeridas)
Para garantir que um utilizador não vê os dados de outro, as regras do Firestore devem ser configuradas como:
allow read, write: if request.auth != null && request.auth.uid == resource.data.userId;
Documentação de Base de Dados - Cuida+