Files
Despensapp/README.md
T
2026-08-06 13:19:58 +02:00

4.3 KiB

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.

Funcionalidades Actuales

🔐 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.

🍱 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.

💰 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.

🎨 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.

🔍 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.

Próximos Pasos

  • Gestión de fechas de caducidad.
  • 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).