Aplicativo Android para controle inteligente de medicação via OCR e notificações
O MedTrack Mobile é um app Android desenvolvido para auxiliar no acompanhamento correto de medicamentos, unindo OCR, notificações e acessibilidade em um só lugar.
- 🔔 Notificações inteligentes
- 📸 Validação por foto usando tecnologia OCR
- ♿ Acessibilidade como prioridade
Público-alvo:
- 👴 Idosos e pacientes com muitos rémedios que dificulte a organização
- 🧑⚕️ Cuidadores e familiares para monitoramento
O MedTrack foi desenvolvido seguindo os princípios do MVVM (Model-View-ViewModel) para garantir uma separação clara de responsabilidades e facilitar a manutenção do código. Utilizamos componentes modernos do Android Jetpack como:
- ViewModel para gerenciamento de dados da UI
- LiveData para atualizações reativas
- Coroutines para operações assíncronas
Desenvolvida inteiramente com Jetpack Compose, a interface prioriza:
- Design moderno e intuitivo
- Acessibilidade
⏰ Lista inteligente de horários
- 💊 Contínuo (emoji de infinito 🔄)
- ⏳ Temporário (emoji de calendário 📅)
💡 Pop-ups intuitivos
Integramos as poderosas ferramentas do Google ML Kit (Text recognition e Object detection) para:
- OCR (Reconhecimento Óptico de Caracteres) para extrair dados de bulas e caixas de remédio
- Detecção de objetos para identificar medicamentos na câmera
- Processamento offline para garantir privacidade e disponibilidade
🎥 Demonstração do OCR identificando: nome do medicamento, dosagem e horários
Para persistência de dados, utilizamos:
- Room Database como camada de abstração sobre SQLite
- Armazenamento seguro de informações sensíveis
- Sincronização eficiente com o backend
@Database(
entities = [Usuario::class, Medicamento::class, Notificacao::class, Confirmacao::class],
version = 4
)
abstract class AppDatabase : RoomDatabase() {
abstract fun medicineDao(): MedicineDao
}Integração com o backend através de:
-
Retrofit para requisições HTTP
-
Moshi para serialização/desserialização JSON
Tratamento robusto de erros e estados de carregamento:
interface ApiService {
@POST("auth/mobile/login")
suspend fun login(@Body loginRequest: LoginRequest): Response<LoginResponse>
@GET("usuario/mobile")
suspend fun getUsuario(@Header("Authorization") token: String): Response<Usuario>
@GET("medicamento/mobile/lista")
suspend fun getMedicamentos(@Header("Authorization") token: String): Response<List<Medicamento>>
@POST("/api/confirmacao")
suspend fun confirmarMedicamento(
@Header("Authorization") token: String,
@Body request: DadosConfirmacaoRequest
)
}- AlarmManager para agendamento de notificações
- Material3 para componentes UI modernos
-
Pré-requisitos:
- Android Studio Giraffe+
- Dispositivo/emulador com Android 9+
-
Configuração:
- Clonar repositório
git clone https://github.com/seu-usuario/medtrack-mobile.gitConfigurar variáveis no ApiClient.kt para o endpoint do Backend:
class ApiClient {
private val BASE_URL = "http://seu-endpoint:8081"
}O MedTrack Web é a interface administrativa do sistema, desenvolvida para:
- 👩⚕️ Profissionais de saúde gerenciarem pacientes
- 👨👩👧 Familiares acompanharem a medicação remota
- 📊 Visualização de relatórios e histórico completo
- 🔄 Sincronização em tempo real dos dados de medicação
- 🔐 Autenticação unificada JWT
- 📩 Notificações complementares via email
Projeto acadêmico desenvolvido para a disciplina de Projeto Interdisciplinar de Engenharia da Computação 1 (PIEC1)
Universidade Federal Rural de Pernambuco — Unidade Acadêmica de Belo Jardim (UFRPE/UABJ)













