# Mapa de Ficheiros e Funções - Cuida+ Este documento é um inventário completo de todos os ficheiros da aplicação e as suas funções específicas. ## 📦 Estrutura de Pastas e Ficheiros ### 🔵 Interface de Utilizador (`ui/`) - **`auth/`**: Gestão de entrada e registo. - `LoginActivity.java`: Ecrã de login com suporte para biometria (Fingerprint/Face ID). - `RegisterActivity.java`: Criação de nova conta. - `ForgotPasswordActivity.java`: Solicitação de recuperação de password. - `ResetPasswordActivity.java`: Definição de nova password após email. - **`home/`**: Centro de informações. - `HomeFragment.java`: Exibe saudação, foto de perfil e o próximo medicamento agendado. - **`medication/`**: Gestão completa de remédios. - `MedicationFragment.java`: Lista todos os medicamentos e gere os alarmes. - `MedicationDialog.java`: Janela para adicionar/editar (com múltiplos horários e pesquisa Firebase). - `MedicationViewModel.java`: Faz a ponte entre o Firestore e a interface. - `MedicationAdapter.java`: Desenha cada item da lista de medicação. - `ComprimidoRecyclerAdapter.java`: Gere a lista de sugestões de nomes de medicamentos. - **`appointments/`**: Lista de consultas médicos. - `AppointmentsFragment.java`: Visualização da agenda pessoal do utilizador. - `AppointmentsViewModel.java`: Gere os dados das consultas. - `AppointmentAdapter.java`: Desenha o item de cada consulta. - **`schedule/`**: Agendamento de novas consultas. - `ScheduleAppointmentFragment.java`: Escolha de médico e horário. - `ScheduleViewModel.java`: Verifica slots disponíveis e agenda lembretes de consulta (24h/30m). - `TimeSlotAdapter.java`: Lista as horas de marcação disponíveis. - **`profile/`**: Perfil do utilizador. - `ProfileFragment.java`: Permite mudar foto, dados e exportar relatórios de saúde (PDF). - **`sns24/`**: Triagem Inteligente. - `Sns24Fragment.java`: Chat IA para avaliação e registo de histórico de triagens no Firestore. ### 🟢 Dados e Modelos (`data/model/`) - `User.java`: Representa a conta do utilizador. - `Medication.java`: Dados de medicação (nome, horários, dosagem). - `Appointment.java`: Dados da consulta (médico, data, hora). - `Comprimido.java`: Objeto simples para os nomes sugeridos na pesquisa. ### 🟠 Serviços e Utilidades (`services/` & `utils/`) - `AlarmScheduler.java`: Lógica centralizada para marcar alarmes no sistema Android. - `AlarmReceiver.java`: O código que corre quando o alarme dispara. - `NotificationHelper.java`: Cria o canal e a mensagem de notificação. - `Gemini.java`: Integração com a Google AI para o diagnóstico inteligente. ### 🔴 Configuração (`/`) - `MainActivity.java`: Contentor principal, gere navegação e ativa a persistência offline do Firestore. - `AndroidManifest.xml`: Registo de atividades, permissões (Alarme, Localização) e providers. - `build.gradle`: Bibliotecas (Firebase, Biometrics, IA). - `res/xml/file_paths.xml`: Configuração de segurança para partilha de ficheiros (PDF). --- *Mapa Completo da Aplicação - Cuida+ (Atualizado Abril 2026)*