109 lines
4.6 KiB
Markdown
109 lines
4.6 KiB
Markdown
# 📋 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
|
|
|
|
```mermaid
|
|
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](./01_MainActivity.md) | Ecrã principal com 3 tabs |
|
|
| [02_AgendaActivity.md](./02_AgendaActivity.md) | Agenda alternativa com calendário |
|
|
| [03_ChatActivity.md](./03_ChatActivity.md) | Chat em tempo real |
|
|
| [04_DetalhePacienteActivity.md](./04_DetalhePacienteActivity.md) | Detalhes do paciente |
|
|
| [05_EditarPerfilActivity.md](./05_EditarPerfilActivity.md) | Edição do perfil médico |
|
|
| [06_PerfilMedicoActivity.md](./06_PerfilMedicoActivity.md) | Visualização do perfil |
|
|
| [07_Models.md](./07_Models.md) | Classes de dados (Consulta, Medico, etc.) |
|
|
| [08_Adapters.md](./08_Adapters.md) | Adaptadores RecyclerView |
|
|
| [09_Autenticacao.md](./09_Autenticacao.md) | Login e Registo |
|
|
| [10_Configuracao_Gradle.md](./10_Configuracao_Gradle.md) | Configuração do projeto |
|
|
| [11_Layouts_XML.md](./11_Layouts_XML.md) | Layouts das Activities e itens RecyclerView |
|
|
| [12_Layouts_Extras_e_Drawables.md](./12_Layouts_Extras_e_Drawables.md) | Fragments, Dialogs e recursos visuais |
|