4.6 KiB
4.6 KiB
📋 Med Cuida+ — Visão Geral do Projeto
O que é?
O Med Cuida+ é uma aplicação Android destinada a médicos, permitindo-lhes gerir os seus pacientes, consultas e perfil profissional. A aplicação comunica com o Firebase (Authentication + Firestore) para guardar e sincronizar dados em tempo real.
🏗️ Estrutura do Projeto
com.example.medcuida.pro/
│
├── MainActivity.java ← Ecrã principal (Agenda + Pacientes + Perfil)
├── AgendaActivity.java ← Ecrã de agenda alternativo (com calendário)
├── ChatActivity.java ← Chat em tempo real entre médico e paciente
├── DetalhePacienteActivity.java ← Detalhes de um paciente específico
├── EditarPerfilActivity.java ← Edição do perfil do médico
├── PerfilMedicoActivity.java ← Visualização do perfil do médico
│
├── models/ ← Classes de dados (POJOs)
│ ├── Consulta.java ← Modelo de uma consulta médica
│ ├── Medico.java ← Modelo de um médico
│ ├── Mensagem.java ← Modelo de uma mensagem de chat
│ └── Paciente.java ← Modelo de um paciente
│
├── ui/
│ ├── adapters/ ← Adaptadores para listas (RecyclerView)
│ │ ├── ConsultaAdapter.java ← Lista de consultas na agenda
│ │ ├── MensagemAdapter.java ← Lista de mensagens no chat
│ │ └── PacienteAdapter.java ← Lista de pacientes
│ │
│ └── auth/ ← Autenticação
│ ├── LoginActivity.java ← Ecrã de login
│ └── RegisterActivity.java ← Ecrã de registo de médico
│
└── services/ ← (Vazio — reservado para serviços futuros)
🔧 Tecnologias Utilizadas
| Tecnologia | Versão | Finalidade |
|---|---|---|
| Android SDK | compileSdk 35 / minSdk 24 | Plataforma base |
| Java | 1.8 | Linguagem de programação |
| Firebase Auth | via BoM 32.7.2 | Autenticação de utilizadores |
| Firebase Firestore | via BoM 32.7.2 | Base de dados em tempo real |
| Material Design | 1.11.0 | Componentes visuais modernos |
| Navigation Component | 2.7.7 | Navegação entre fragments |
| Retrofit + OkHttp | 2.9.0 / 4.10.0 | Chamadas HTTP e JSON |
| Google Generative AI | Última versão | Integração com Gemini AI |
| Guava | 31.1 | Operações assíncronas |
🗄️ Coleções Firestore
| Coleção | Descrição |
|---|---|
utilizadores |
Todos os utilizadores (pacientes e médicos) |
medicos |
Dados específicos dos médicos (duplicado para compatibilidade) |
consultas |
Consultas médicas agendadas |
consultas/{id}/mensagens |
Sub-coleção com mensagens de chat de uma consulta |
medicamentos |
Medicamentos registados por pacientes |
🔄 Fluxo da Aplicação
graph TD
A[LoginActivity] -->|Credenciais válidas| B{Verificar Perfil}
B -->|Existe em 'medicos'| C[MainActivity]
B -->|Existe em 'utilizadores'| C
B -->|Não existe| D[Erro: Sem perfil]
E[RegisterActivity] -->|Registo com sucesso| C
C -->|Tab Agenda| F[Ver Consultas do Dia]
C -->|Tab Pacientes| G[Lista de Pacientes]
C -->|Tab Perfil| H[Ver/Editar Perfil]
F -->|Clicar consulta| I[DetalhePacienteActivity]
G -->|Clicar paciente| I
I -->|Botão Chat| J[ChatActivity]
H -->|Editar| K[EditarPerfilActivity]
📁 Índice da Documentação
| Ficheiro | Conteúdo |
|---|---|
| 01_MainActivity.md | Ecrã principal com 3 tabs |
| 02_AgendaActivity.md | Agenda alternativa com calendário |
| 03_ChatActivity.md | Chat em tempo real |
| 04_DetalhePacienteActivity.md | Detalhes do paciente |
| 05_EditarPerfilActivity.md | Edição do perfil médico |
| 06_PerfilMedicoActivity.md | Visualização do perfil |
| 07_Models.md | Classes de dados (Consulta, Medico, etc.) |
| 08_Adapters.md | Adaptadores RecyclerView |
| 09_Autenticacao.md | Login e Registo |
| 10_Configuracao_Gradle.md | Configuração do projeto |
| 11_Layouts_XML.md | Layouts das Activities e itens RecyclerView |
| 12_Layouts_Extras_e_Drawables.md | Fragments, Dialogs e recursos visuais |