App móvil para registrar los medicamentos del botiquín doméstico, consultar su estado y recibir avisos antes de que caduquen.
- Alta por escaneo — escanea el código de barras o DataMatrix del envase. Para España, busca automáticamente el medicamento en la base de datos de la AEMPS (CIMA) y rellena el formulario.
- Alta manual y por código nacional — alternativas disponibles en la misma pantalla de escaneo.
- Revisión obligatoria — ningún envase se guarda sin pasar por una pantalla de confirmación.
- Inventario por caducidad — Home agrupa los envases en Caducados, Caducan pronto y Todo el botiquín.
- Notificaciones locales — aviso configurable días antes de la fecha de caducidad.
- Sin cuenta, sin backend propio — todos los datos viven en SQLite local del dispositivo.
| Capa | Tecnología |
|---|---|
| Lógica compartida | Kotlin Multiplatform |
| UI compartida | Compose Multiplatform |
| Persistencia | SQLDelight (SQLite) |
| HTTP | Ktor Client |
| Cámara Android | CameraX + ML Kit |
| Cámara iOS | AVFoundation (Swift) |
| Notificaciones Android | AlarmManager |
| Notificaciones iOS | UNUserNotificationCenter |
shared/
src/commonMain/ # dominio, datos, presentación y navegación compartidos
src/androidMain/ # implementaciones actual: scanner y notificaciones Android
src/iosMain/ # implementaciones actual: scanner y notificaciones iOS
androidApp/ # shell Android (MainActivity, CameraPreviewView)
iosApp/ # shell iOS (SwiftUI entry point, scanner nativo)
- Android: minSdk 24, targetSdk 35
- iOS: Xcode con soporte para Kotlin/Native
- JDK 11+
- Android Studio o IntelliJ IDEA con el plugin de Kotlin Multiplatform
./gradlew :androidApp:assembleDebugO instalar directamente en un dispositivo conectado:
./gradlew :androidApp:installDebugEl lookup de medicamentos usa la API REST pública de la AEMPS:
https://cima.aemps.es/cima/rest
No requiere API key. Para países distintos de España el alta siempre es manual en esta versión.
MVP en desarrollo. Android funcional. iOS en integración.