Volver a proyectos
Publicado

DriverFinanceTracker

App Android sin conexión para que conductores de plataformas registren ingresos y gastos en pocos toques.

Rol: Diseño y desarrollo de la app

  • Ionic
  • Angular
  • Capacitor
  • SQLite

APK publicado (v1.1.2); sin descarga por ahora.

Inicio de DriverFinanceTracker: balance del mes, ingresos, gastos y gastos hormiga

Problema

Muchos conductores de plataformas de transporte no saben con claridad cuánto ganan de verdad. Reciben pagos de varias aplicaciones, gastan en combustible, peajes, lavado y mantenimiento, y además tienen los pequeños gastos del día y los de la casa. Sin un registro, todo eso se mezcla y es imposible saber cuál fue el ingreso neto de la semana.

Las hojas de cálculo no funcionan bien en este caso. Un conductor no va a abrir una hoja entre dos viajes, con una mano en el volante y poca señal. Si registrar un movimiento es incómodo, se deja para después, y lo que se deja para después se olvida. Una herramienta así solo sirve si anotar un ingreso o un gasto es casi instantáneo.

También está el vehículo. El mantenimiento depende de los kilómetros recorridos, y quien no los apunta se entera de que tocaba cambiar el aceite cuando ya es tarde y sale caro.

Solución y funciones clave

DriverFinanceTracker es una app para Android que funciona sin conexión. Nació como una herramienta para mi propio uso y está publicada como APK en su versión 1.1.2. Por ahora no ofrece descarga pública, y lo digo de forma explícita para no prometer lo que todavía no existe. Estas son sus piezas principales:

La app está hecha con Ionic y Angular, empaquetada con Capacitor, y guarda todo en una base SQLite local. No necesita registro ni servidor, y por eso tampoco hay datos de nadie fuera del teléfono de quien la usa.

Probé la lógica con una batería amplia de pruebas automáticas, incluidas pruebas contra una base SQLite real, y dejé algunas comprobaciones en dispositivos físicos para una pasada final. Lo más importante del diseño es que la prioridad nunca cambió: registrar rápido, sin conexión y sin depender de nadie.

Arquitectura

Arquitectura de DriverFinanceTrackerDiagrama simplificado: la app Ionic y Angular guarda todo en una base SQLite local; desde esa base salen la copia diaria a la carpeta Documentos y las alertas locales de mantenimiento. La app corre en Android mediante Capacitor.AppIonic + AngularOffline primeroBase localSQLiteCopia CSVCarpeta DocumentosAlertas localesMantenimiento por kmAndroidCapacitorArquitectura de DriverFinanceTrackerDiagrama simplificado: la app Ionic y Angular guarda todo en una base SQLite local; desde esa base salen la copia diaria a la carpeta Documentos y las alertas locales de mantenimiento. La app corre en Android mediante Capacitor.AppIonic + AngularOffline primeroBase localSQLiteCopia CSVCarpeta DocumentosAndroidCapacitorAlertas localesMantenimiento por km

Diagrama simplificado; omite detalles internos por privacidad.

Decisiones técnicas

  1. Base de datos SQLite local, sin sincronizar con la nube.

    Por qué
    Un conductor trabaja entre viajes, a veces sin señal. Con los datos en el teléfono, registrar un movimiento funciona siempre y no depende de ninguna cuenta ni servidor.
    Trade-off
    Si el teléfono se pierde, los datos se pierden con él, por eso añadí copias de seguridad en lugar de una sincronización continua.
  2. El dinero se guarda como números enteros en la unidad menor de la moneda.

    Por qué
    Los decimales binarios acumulan errores de redondeo al sumar muchos movimientos. Con enteros, los totales del día y del mes cuadran siempre.
    Trade-off
    Cada pantalla tiene que convertir al mostrar y al leer lo que escribe el usuario, un paso extra que hay que cuidar.
  3. Restaurar un archivo CSV en una sola transacción, después de validarlo y mostrar una vista previa.

    Por qué
    Un archivo dañado o incompleto no puede dejar la base de datos a medias. O se restaura todo o no se cambia nada.
    Trade-off
    Restaurar es más lento y más estricto que importar fila por fila, y un archivo con un solo error se rechaza completo.
  4. Copia diaria automática a la carpeta Documentos del teléfono, en lugar de usar un servicio en la nube.

    Por qué
    Evita pedir cuentas o permisos amplios, funciona sin conexión y el conductor puede llevarse el archivo cuando cambie de teléfono.
    Trade-off
    La copia vive en el mismo dispositivo, así que protege de borrados accidentales pero no de perder el teléfono si el usuario no la copia aparte.

Mi rol

Diseñé y construí la app completa, de la interfaz al almacenamiento local, y también la preparé y firmé para instalarla en otros teléfonos. Empezó como una herramienta para mí y la fui mejorando con el uso diario.

Siguiente proyecto

ExperimentoTennis Live AnalyticsProyecto de datos en tiempo real y ML que estima la probabilidad de ganar de cada jugador en partidos de tenis en vivo, evaluado con paper trading.Ver caso

¿Tienes un proyecto?

Hablemos de tu proyecto