# 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). 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:** * **Algoritmo Predictivo de Aceite:** Cálculo automático del próximo cambio (intervalo de 15,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:** Cálculo de fecha aproximada de mantenimiento basada en la media de kilómetros diarios recorridos. 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) mediante consultas `LIKE` flexibles. * **Registro Multimodal:** Opciones rápidas para mantenimiento común y entrada de texto libre para incidencias personalizadas. * **Localización:** Interfaz y fechas totalmente 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) * **UI:** Material Design / ConstraintLayout ### 📊 Estructura de Datos (MariaDB): * **Tabla:** `mantenimiento` * **Columnas:** `id` (INT), `kms` (INT), `observaciones` (TEXT), `fecha` (DATETIME). --- **Estado:** Estable y funcional para el seguimiento diario del vehículo con margen de seguridad para viajes de larga distancia.