3.0 KiB
3.0 KiB
Guia Completo da Aplicação - Cuida+
Este documento fornece uma visão geral técnica e funcional de toda a aplicação Cuida+.
1. Visão Geral
A Cuida+ é uma aplicação móvel Android desenvolvida em Java, focada na gestão de saúde pessoal. Permite aos utilizadores gerir as suas medicações, agendar consultas médicas e realizar uma triagem preliminar baseada em Inteligência Artificial.
2. Tecnologias Utilizadas
- Linguagem: Java (Android SDK).
- Base de Dados & Auth: Firebase (Authentication, Firestore, Realtime Database).
- Inteligência Artificial: Google Gemini API (para o chat de triagem).
- Notificações: AlarmManager para lembretes de medicação.
3. Arquitetura de Pastas e Módulos
🔵 Autenticação (ui/auth)
- Login/Registo: Gerido pelo Firebase Auth.
- Recuperação de Password: Envio de emails automáticos para redefinição.
- Ficheiros:
LoginActivity,RegisterActivity,ForgotPasswordActivity.
🟢 Gestão de Medicação (ui/medication)
- Funcionalidades: Adicionar, editar e eliminar medicamentos.
- Destaque: Suporte para múltiplos horários por medicamento com alarmes independentes.
- Integração: Pesquisa em tempo real de nomes de medicamentos no Firebase (Realtime DB).
- Ficheiros:
MedicationFragment,MedicationDialog,MedicationViewModel.
📅 Agenda e Consultas (ui/appointments & ui/schedule)
- Visualização: Lista de consultas futuras e passadas.
- Agendamento: Escolha de data e slots de tempo disponíveis para marcar com médicos registados no sistema.
- Ficheiros:
AppointmentsFragment,ScheduleAppointmentFragment.
🤖 Triagem IA - SNS24 (ui/sns24)
- Funcionalidade: Um chat inteligente onde o utilizador descreve sintomas.
- Lógica: Usa a classe
Gemini.javapara processar a linguagem natural e sugerir o nível de urgência (triagem). - Botão de Emergência: Se o sistema detetar gravidade, oferece a opção de localizar o hospital mais próximo.
⚙️ Utilitários e Segundo Plano (utils & services)
AlarmScheduler: Centraliza a lógica de agendamento de alarmes no sistema Android.AlarmReceiver: Ouve os eventos do sistema e dispara notificações sonoras e visuais.NotificationHelper: Gera as notificações push que aparecem no telemóvel.
4. Modelos de Dados (data/model)
User/Perfil: Informação básica do utilizador (nome, foto, contacto).Medication: Nome, horários (comma-separated), dosagem, notas e estado.Appointment: Médico, data, hora e notas da consulta.
5. Fluxo de Dados
- O utilizador interage com o Fragment (Interface).
- O ViewModel processa os dados e comunica com o Firebase Firestore.
- O Firestore atualiza os dados na nuvem em tempo real (SnapshotListeners).
- O ViewModel recebe a atualização e reflete as mudanças na UI automaticamente através de LiveData.
Este guia serve como referência para novos programadores ou para auditoria do projeto.