# Mantenimiento (Kilometrapp) - Estado Actual del Proyecto Aplicación Android nativa desarrollada en Kotlin diseñada para la gestión logística y mecánica de vehículos mediante captura inteligente de kilometraje. ### 🚀 Características Implementadas: 1. **Captura Inteligente (OCR):** * Integración de **Google ML Kit Text Recognition** para la lectura automática del cuentakilómetros. * Uso de **CameraX** con implementación de recuadro de enfoque (*Focus Frame*) y soporte para **Pinch-to-Zoom (1x - 8x)**. * Algoritmo de limpieza de cadenas mediante Regex para separar valores pegados (ej: temperatura de kilometraje/trip). 2. **Persistencia en la Nube:** * Conexión directa a base de datos **MariaDB** remota. * Uso del driver **MySQL Connector 5.1.49** para garantizar máxima compatibilidad con dispositivos Android (evitando errores de `DriverAction`). * Sistema de guardado seguro mediante *Executors* para no bloquear la interfaz de usuario. 3. **Lógica de Negocio y Predicción (Sincronizada con n8n):** * **Algoritmo Predictivo de Aceite:** Cálculo automático del próximo cambio basado en un intervalo de **16,000 km**. * **Margen de Viaje Geográfico:** Resta automática de **320 km** al cálculo de mantenimiento para planificar el viaje de retorno **Torremolinos - Puertollano**. * **Estimación Temporal Inteligente:** Cálculo de fecha aproximada basado en la media de kilómetros diarios recorridos específicamente desde el último cambio de aceite (lógica importada de flujo n8n). 4. **Gestión de Historial y UX:** * **Toolbar con Menú:** Acceso directo a registros históricos desde la barra superior. * **Filtros Inteligentes:** Buscador de registros por categorías (Revisiones, Aceite, Neumáticos/Ruedas) mediante consultas `LIKE` flexibles que ignoran mayúsculas/minúsculas. * **Registro Multimodal:** Opciones rápidas para mantenimiento común y entrada de **texto libre (Otros)** para incidencias personalizadas. * **Localización:** Interfaz, alertas y visualización de fechas adaptadas al formato español (`dd/MM/yyyy`). ### 🛠️ Stack Tecnológico: * **Lenguaje:** Kotlin * **Cámara:** CameraX (Core, Lifecycle, View) * **IA/ML:** ML Kit Text Recognition (Latin) * **Base de Datos:** MariaDB / JDBC (MySQL Connector 5.1.49) * **UI:** Material Design / ConstraintLayout con Toolbar superior. ### 📊 Estructura de Datos (MariaDB): * **Tabla:** `mantenimiento` * **Columnas:** `id` (INT), `kms` (INT), `observaciones` (TEXT), `fecha` (DATETIME). --- **Estado:** Estable y funcional. Lógica de predicción optimizada para el uso real del vehículo y planificación de desplazamientos de largo recorrido para mantenimiento técnico.