Mejoras varias

This commit is contained in:
2026-08-06 21:18:25 +02:00
parent 1a4beeeb3c
commit c55a2b5bd8
6 changed files with 197 additions and 48 deletions
+48 -47
View File
@@ -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.