MyPharmaMemoryMVC es una aplicación Android desarrollada en Kotlin que permite a los usuarios gestionar su inventario personal de medicamentos. La app destaca por su capacidad para leer el código de barras de los medicamentos y obtener información detallada de la API REST oficial de CIMA (Agencia Española de Medicamentos y Productos Sanitarios).
- 📷 Lector de códigos de barras: Escanea el código de barras (Data Matrix) de los medicamentos para identificarlos rápidamente.
- 🌐 Integración con API CIMA: Consulta en tiempo real la información oficial de medicamentos mediante la API REST de CIMA.
- 🗃️ Inventario personal: Permite almacenar, listar y consultar tus medicamentos, con detalles como nombre, código nacional, fecha de caducidad, vía de administración y dolencias tratadas.
- 🔒 Autenticación: Acceso seguro mediante email y contraseña usando Firebase Authentication.
- ☁️ Sincronización en la nube: Los datos de tus medicamentos se almacenan en Firebase Firestore, accesibles desde cualquier dispositivo autenticado.
- 🖼️ Interfaz intuitiva y visual: Uso de iconos, imágenes y colores para una experiencia de usuario agradable.
El proyecto sigue el patrón MVC (Modelo-Vista-Controlador):
- Modelo (
model/
): Clases de datos (PharmacoModel
,PharmaResponse
), lógica de acceso a datos y servicios (Repository
,APIService
). - Vista (
view/
): Fragments para pantallas informativas y de contacto. - Controlador (
controller/
): Fragments y actividades que gestionan la lógica de interacción y navegación (MainActivity
,LoginFragment
,CodeLectorFragment
, etc.).
app/
└── src/
└── main/
├── java/com/juandomingo/mypharmamemorymvc/
│ ├── model/
│ ├── view/
│ └── controller/
└── res/
├── layout/
├── drawable/
└── values/
- Kotlin 🟣
- AndroidX 📦
- ZXing para escaneo de códigos de barras 📷
- Retrofit para llamadas HTTP 🌐
- Gson para parseo JSON 🗃️
- Firebase Auth & Firestore 🔥
- Acceso mediante email y contraseña.
- Registro y cierre de sesión.
- Visualiza tu inventario de medicamentos.
- Acceso a introducir nuevo fármaco o ver la lista completa.
- Formulario para añadir manualmente un medicamento.
- Visualiza todos tus medicamentos almacenados.
- Escanea el código de barras del medicamento para obtener información automáticamente.
- Visualiza el prospecto y detalles oficiales del medicamento desde la API CIMA.
- Registro/Login 🔑
- Escanear medicamento o añadir manualmente ➕
- Consultar información oficial (API CIMA) 🌐
- Almacenar en tu inventario 🗃️
- Consultar, editar o eliminar medicamentos desde la lista 📋
- Clona el repositorio:
git clone <URL-del-repo>
- Abre el proyecto en Android Studio.
- Configura tu archivo
google-services.json
para Firebase (ya incluido de ejemplo). - Compila y ejecuta en un dispositivo físico (recomendado para el escaneo de códigos de barras).
- Documentación oficial: https://cima.aemps.es/cima/rest/docs
- Ejemplo de endpoint usado:
https://cima.aemps.es/cima/rest/medicamento?nregistro=<codigo>
- Los datos personales y de medicamentos se almacenan de forma segura en Firebase.
- No se comparten datos con terceros.
- Juan Domingo
- GitHub
Este proyecto está bajo la Licencia MIT.
Si quieres mejorar la app, ¡no dudes en hacer un fork y enviar tu pull request!