From c55a2b5bd8c9de0b18935fff92e3bc55ee6d380f Mon Sep 17 00:00:00 2001 From: Pedro Date: Thu, 6 Aug 2026 21:18:25 +0200 Subject: [PATCH] Mejoras varias --- .idea/codeStyles/Project.xml | 123 +++++++++++++++++++++++++++ .idea/codeStyles/codeStyleConfig.xml | 5 ++ .idea/deploymentTargetSelector.xml | 7 ++ .idea/deviceManager.xml | 13 +++ README.md | 95 +++++++++++---------- app/build.gradle.kts | 2 +- 6 files changed, 197 insertions(+), 48 deletions(-) create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/deviceManager.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..7643783 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,123 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index ca16a99..8a0d574 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,6 +4,13 @@ diff --git a/.idea/deviceManager.xml b/.idea/deviceManager.xml new file mode 100644 index 0000000..91f9558 --- /dev/null +++ b/.idea/deviceManager.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index b58386a..5243918 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,58 @@ # Despensapp - Gestión de Despensa Familiar -Aplicación Android diseñada para gestionar el inventario de una despensa de forma compartida, con integración directa a MariaDB y Open Food Facts. +Aplicación Android moderna y colaborativa diseñada para gestionar el inventario de una despensa de forma compartida, con integración directa a MariaDB y Open Food Facts. -## Funcionalidades Actuales +## 🚀 Novedades Recientes +* **Seguimiento de Cambios:** Ahora puedes ver qué miembro de la familia realizó la última modificación en cada producto. +* **Configuración de Alertas:** Frecuencia de notificaciones personalizable (12h, 24h, 48h o Semanal). +* **Gestión de Imágenes:** Sube tus propias fotos desde la galería o haz una foto directamente si el producto no tiene imagen en Open Food Facts. +* **Valoración Financiera:** Visualiza el valor total de tu despensa y el presupuesto necesario para reponer lo que falta. -### 🔐 Autenticación Multiusuario -* **Login y Registro:** Conexión directa a una base de datos MariaDB externa (`mariadb.peta9.com`). -* **Gestión de Cuentas:** Registro de usuarios con nombre completo, email y contraseña. -* **Seguridad:** Uso de hilos secundarios (Coroutines) para no bloquear la interfaz durante la conexión. +## 🛠 Funcionalidades Principales -### 🍱 Gestión de Inventario -* **Visualización en Tiempo Real:** Lista de productos traída directamente desde MariaDB con soporte para unidades (kg, l, gr, etc.). -* **Imágenes de Productos:** Integración con **Coil** para mostrar las imágenes de los productos obtenidas de Open Food Facts. -* **Detalles Extendidos:** Pantalla de detalles para cada producto con información técnica de MariaDB. -* **Búsqueda y Categorización:** Filtro por nombre y categorías dinámicas para una localización rápida. -* **Swipe to Delete:** Borrado intuitivo de productos deslizando hacia la izquierda (Material 3). -* **Fecha de Caducidad:** Seguimiento de la caducidad de cada producto para evitar desperdicios. -* **Filtro Inteligente:** Filtro para ver rápidamente qué productos han caducado o están a punto de hacerlo (7 días o menos). -* **Formato de Fecha:** Visualización de fechas en formato amigable (DD/MM/YYYY) en toda la aplicación. -* **Lista de la Compra:** Modo dedicado que muestra únicamente los productos con stock bajo. -* **Historial de Alta:** Registro automático de la fecha y hora en la que se añadió cada producto. -* **Alertas de Stock Bajo:** Indicadores visuales en rojo cuando un producto está por debajo de su cantidad mínima. -* **Notificaciones Automáticas:** El sistema revisa diariamente el inventario y envía notificaciones al móvil sobre stock bajo. -* **Control Rápido:** Botones de incremento/decremento en la pantalla principal para actualizar el stock rápidamente. -* **Edición Completa:** Modo de edición total en la pantalla de detalle para modificar nombre, stock, stock mínimo, categoría y caducidad. -* **Compartir Lista:** Botón para compartir la lista de la compra directamente desde la aplicación a servicios de mensajería (WhatsApp, etc.). -* **Iconografía Dinámica:** Asignación inteligente de iconos de Material Design basados en la categoría del producto (Lácteos, Carnicería, Fresco, etc.). -* **Cierre de Sesión:** Opción para cerrar la sesión actual y volver de forma segura a la pantalla de bienvenida. +### 🔐 Autenticación y Familia +* **Acceso Multiusuario:** Registro e inicio de sesión conectado a MariaDB externa. +* **Códigos de Familia:** Posibilidad de unirse a despensas existentes mediante códigos compartidos. +* **Sesiones Seguras:** Gestión de sesión de usuario local para acceso rápido. -### 💰 Control de Precios y Valor Financiero -* **Gestión de Precios:** Seguimiento del precio unitario de cada producto para una mejor planificación económica. -* **Valoración de la Despensa:** Cálculo automático del valor total de todo el inventario acumulado. -* **Presupuesto de Compra:** Cálculo del coste estimado necesario para reponer los productos en stock bajo. -* **Visualización Detallada:** Visualización del precio junto a las unidades en la lista principal y detalles. +### 🍱 Gestión de Inventario Inteligente +* **Escáner Avanzado:** Lector de códigos de barras con **Google ML Kit**, feedback háptico (vibración) y control de linterna integrado. +* **Integración Doble:** Búsqueda automática en **Open Food Facts** con fallback a la base de datos local para productos ya conocidos. +* **Control de Stock:** Botones de acceso rápido (+/-) en la lista principal y edición detallada. +* **Alertas Visuales:** Indicadores de stock bajo (barras laterales rojas y iconos de advertencia) basados en mínimos personalizados. +* **Categorización Dinámica:** Iconografía automática basada en la categoría del producto (Lácteos, Frescos, Limpieza, etc.). -### 🎨 Identidad Visual -* **Icono Personalizado:** Diseño de icono adaptativo único que representa un mueble de despensa lleno de productos. -* **Interfaz Material 3:** Uso de los últimos estándares de diseño de Google para una experiencia fluida y moderna. -* **Colores Amigables:** Paleta de colores personalizada para mejorar la legibilidad y la estética familiar. +### 📅 Control de Caducidad +* **Seguimiento de Fechas:** Registro de fecha de caducidad con formato amigable (DD/MM/YYYY). +* **Filtro Crítico:** Vista rápida de productos caducados o que caducarán en los próximos 7 días. +* **Historial de Alta:** Registro automático de cuándo se añadió cada producto a la despensa. -### 🔍 Integración con APIs y Hardware -* **Escáner de Código de Barras:** Uso de **CameraX** y **Google ML Kit** con **Feedback Háptico** (vibración) al detectar productos. -* **Linterna:** Botón integrado en el escáner para encender y apagar el flash en entornos oscuros. -* **Open Food Facts:** Búsqueda automática de nombres, categorías e imágenes al escanear un código de barras. -* **MariaDB Directo:** Conexión JDBC para persistencia de datos compartida. +### 🛒 Lista de la Compra y Compartir +* **Generación Automática:** Filtro dedicado para productos bajo mínimos. +* **Compartir:** Exporta y envía la lista de la compra por WhatsApp, Telegram o email con un solo toque. +* **Cálculo de Costes:** Estimación del dinero necesario para completar la reposición de stock. -## Próximos Pasos +### 🔔 Notificaciones y Segundo Plano +* **InventoryCheckWorker:** Tareas en segundo plano (WorkManager) que revisan el stock diariamente. +* **Frecuencia Ajustable:** Elige desde los ajustes cada cuánto quieres recibir alertas de reposición. + +## 🎨 Interfaz y Experiencia (UX) +* **Material 3:** Interfaz moderna con componentes dinámicos y soporte para temas. +* **Swipe to Action:** Borrado intuitivo deslizando elementos (Swipe-to-Delete). +* **Feedback Visual:** Cargas progresivas, snackbars de confirmación y estados vacíos informativos. + +## ⚙️ Especificaciones Técnicas +* **Arquitectura:** MVVM-ish con Repositorios para abstracción de datos. +* **Persistencia:** MariaDB Directo (JDBC) con soporte para red local y remota. +* **Red:** Retrofit para Open Food Facts API y Coil para carga de imágenes asíncrona. +* **Cámara:** CameraX para una integración fluida con el hardware. +* **Mínimo SDK:** Android 31 (Android 12) +* **Target SDK:** Android 37 + +## 🛤 Próximos Pasos * [x] Gestión de fechas de caducidad. -* [x] Lista de la compra automática basada en el stock bajo. -* [ ] Compartir despensas específicas mediante códigos de familia. -* [ ] Exportar inventario a PDF/CSV. - -## Requisitos Técnicos -* Android SDK 34+ -* Conexión a Internet (para API y DB remota). -* Permiso de Cámara (para el escáner). +* [x] Lista de la compra automática. +* [x] Notificaciones push locales. +* [ ] Exportación avanzada a PDF/CSV. +* [ ] Modo offline con sincronización diferida. +* [ ] Estadísticas de consumo mensual. diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 34f38a8..e20ef08 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -11,7 +11,7 @@ android { defaultConfig { applicationId = "com.example.despensapp" - minSdk = 34 + minSdk = 31 targetSdk = 37 versionCode = 1 versionName = "1.0"