Moto Taxi Finance
PWA Financiera Multi-Tenant con Liquidación Parametrizada, RLS y Tasa BCV
Aplicación web progresiva (PWA) de finanzas operativas para conductores y propietarios en el sector de transporte en dos ruedas. Permite a los choferes registrar sus ingresos diarios en calle, conciliar gastos de combustible y alquiler al cierre del período, y automatizar el reparto transparente entre la ganancia neta del chofer y el fondo de mantenimiento preventivo ('Pote Moto').

Tecnologías y Patrones
- Next.js 16
- React 19
- TypeScript
- PostgreSQL
- Drizzle ORM
- Row-Level Security (RLS)
- Better-Auth
- PWA
- Tailwind CSS
Ingeniería & Límites de Dominio
Arquitectura del Sistema
Arquitectura modular orientada al dominio (package-by-feature) con aislamiento multi-tenant estricto mediante PostgreSQL Row-Level Security (RLS) en tiempo de ejecución, transacciones ACID con Drizzle ORM y contabilidad monetaria en enteros (minor units) para evitar errores de coma flotante.
Puntos Clave de la Arquitectura
- Aislamiento de datos por inquilino mediante políticas nativas de PostgreSQL RLS con SET LOCAL ROLE app_user dentro de cada transacción.
- Diseño modular (package-by-feature) con separación limpia entre capas de dominio, aplicación e infraestructura.
- Manejo de importes monetarios en unidades enteras (minor units) y sincronización programada con la tasa oficial BCV vía cron.
- Autenticación segura multi-tenant con Better-Auth, sesiones firmadas y cifrado criptográfico Argon2.
Ecosistema
Stack Tecnológico Detallado
Next.js 16 (App Router) + React 19 + TypeScript
Renderizado eficiente, server actions seguras y tipado estricto de punta a punta.
PostgreSQL (Neon) + Drizzle ORM
Persistencia relacional con migraciones declarativas y consultas tipadas.
PostgreSQL RLS + Better-Auth + Argon2
Aislamiento por tenant_id a nivel de base de datos y autenticación robusta.
Vitest + Testcontainers
Pruebas de integración contra instancias reales de PostgreSQL en Docker.
Capacidades Operativas
Características Principales
Registro ágil de carreras e ingresos diarios optimizado para interacción táctil en dispositivos móviles.
Motor de liquidación automático: cálculo de combustible, cuota de alquiler y reparto al 'Pote Moto'.
Integración automatizada con la tasa oficial de cambio del Banco Central de Venezuela (BCV).
Soporte PWA instalable con funcionamiento rápido y diseño responsivo adaptado al uso en campo.
Historial detallado de liquidaciones y balances de saldo por período.
Ingeniería Real & Aprendizaje
Retos Técnicos & Lecciones Aprendidas
Decisiones de arquitectura tomadas bajo presión operativa y el criterio destilado en producción.
Complejidad Operativa
Garantizar la confidencialidad y aislamiento estricto de las cuentas de conductores en una arquitectura multi-tenant compartida sin encarecer la infraestructura en la nube.
Arquitectura & Diseño
Implementé Row-Level Security (RLS) directamente en el motor PostgreSQL combinado con Drizzle ORM, delegando la regla de aislamiento a la base de datos para que sea imposible una fuga de datos entre inquilinos.
Criterio en Producción
En sistemas financieros multi-tenant, la seguridad no debe depender únicamente de cláusulas WHERE en el código de aplicación: las políticas RLS en base de datos actúan como un cortafuegos infranqueable.
Decisiones de Diseño
Resolución & Enfoque Técnico
Diseñado y desarrollado para solventar la falta de claridad en las liquidaciones diarias entre choferes y propietarios de motocicletas.
La aplicación se encuentra desplegada y en uso activo en producción.
¿Deseas examinar el repositorio?
El repositorio público contiene el historial de commits, pruebas y estructura modular.