La evolución de la movilidad en Latinoamérica.
Autorenta no es solo una app de alquiler; es un ecosistema descentralizado que conecta a propietarios de vehículos con conductores verificados mediante tecnología segura, identidad digital y gestión financiera automatizada.
- Arquitectura del Sistema
- Stack Tecnológico
- Módulos Principales
- Modelo de Negocio y Legal
- Estructura del Proyecto
- Configuración y Desarrollo
- Scripts y Herramientas
- Despliegue e Infraestructura
Autorenta está construido sobre una arquitectura Serverless y Event-Driven, priorizando la escalabilidad y la seguridad de los datos.
- Frontend Agnostico: Una aplicación web progresiva (PWA) construida con Angular e Ionic que sirve tanto para escritorio como para móvil (Android/iOS), utilizando un diseño "Mobile-First".
- Backend as a Service (BaaS): Supabase actúa como el núcleo, proporcionando Base de Datos (PostgreSQL), Autenticación, Almacenamiento y Tiempo Real.
- Seguridad RLS (Row Level Security): La lógica de acceso a los datos vive en la base de datos. Ninguna consulta sale del frontend sin pasar por políticas estrictas de seguridad que validan si el usuario es
renter,owneroadmin. - Edge Computing: La lógica de negocio compleja (procesamiento de pagos, webhooks, notificaciones) se ejecuta en Supabase Edge Functions (Deno), garantizando baja latencia.
- Framework: Angular 18+ (Standalone Components, Signals, Control Flow syntax
@if,@for). - UI/UX: Ionic Framework 8 para componentes nativos y TailwindCSS para utilidades de diseño y sistema de diseño (tokens).
- Mapas: Mapbox GL JS para geolocalización precisa de flota.
- Estado: Gestión reactiva basada en Signals y RxJS.
- Base de Datos: PostgreSQL 15+ con extensiones PostGIS (geo) y pgvector (IA).
- API: PostgREST (generada automáticamente) + Edge Functions (Deno/Node).
- Auth: Supabase Auth (JWT, OAuth con Google/Apple, OTP).
- Storage: Buckets seguros para documentos KYC e imágenes de vehículos.
- Pagos: MercadoPago (SDK v2) para procesamiento de tarjetas, split payments y webhooks.
- IA/ML: Integración con modelos Gemini para análisis de imágenes y asistencia al usuario.
El sistema implementa un flujo de Know Your Customer riguroso. Antes de poder alquilar o publicar, los usuarios deben verificar:
- Email y Teléfono: Validación por OTP.
- Documentos: Carga de DNI/Pasaporte y Licencia de Conducir (frente y dorso).
- Biometría: (Roadmap) Validación facial contra documentos.
Los estados de verificación (
pending,verified,rejected) controlan los permisos globales de la app mediante Guards de Angular.
Una máquina de estados finitos gestiona el ciclo de vida del alquiler:
- Solicitud: El conductor selecciona fechas. Se verifica disponibilidad (anti-collision).
- Aprobación: El propietario acepta o rechaza (o aprobación automática si está activada).
- Pago: Se procesa el cargo o se bloquea la garantía.
- Check-in: Inspección digital del vehículo (fotos, odómetro, combustible) firmada por ambas partes.
- Viaje: Período activo de renta con seguro vigente.
- Check-out: Inspección final y cálculo de cargos adicionales (combustible, daños).
Autorenta opera un sistema de Ledger (Libro Mayor) interno:
- Wallet: Cada usuario tiene un saldo virtual en múltiples monedas (ARS/USD).
- Split Payments: Al pagar una reserva, el dinero se divide automáticamente: una parte al propietario, una comisión a la plataforma y otra al fondo de seguros.
- Retiros: Los propietarios pueden solicitar el retiro de sus ganancias a cuentas bancarias (CBU/CVU) integradas.
Autorenta innova no solo en tecnología, sino en la estructura financiera y legal que permite el alquiler entre particulares de forma segura.
Para reducir la fricción de los altos depósitos de garantía, implementamos Autorentar Club.
- Concepto: Los conductores pagan una membresía anual (Access, Silver, Black) que les otorga una "cobertura de franquicia".
- Beneficio: Los miembros del club disfrutan de depósitos reducidos o $0 al alquilar. La plataforma asume el riesgo de daños menores (deducibles) contra el saldo de cobertura del usuario.
- Técnico: El sistema verifica el nivel de suscripción (
SubscriptionService) al momento del checkout y ajusta dinámicamente el monto a pre-autorizar.
La seguridad financiera se gestiona mediante bloqueos temporales de fondos, no cobros directos.
- Mecanismo: Utilizamos la API de MercadoPago para crear una Preautorización (Hold) en la tarjeta de crédito del conductor.
- Flujo: Los fondos se reservan pero no se debitan. Si el viaje finaliza sin incidentes, el sistema libera automáticamente el bloqueo. Si hay daños, se captura (cobra) total o parcialmente el monto reservado.
- Alternativa: También soportamos bloqueos de saldo en la Wallet interna para usuarios sin tarjeta de crédito.
Legalmente, el alquiler se estructura bajo la figura de Comodato Oneroso (Préstamo de Uso).
- Contrato Dinámico: Al confirmar la reserva, el sistema genera automáticamente un contrato digital PDF vinculante entre las partes.
- Firmas: Se registran las firmas digitales y la aceptación de términos, junto con la evidencia del estado del vehículo (Check-in/Check-out).
- Validez: Este documento protege al propietario ante multas de tránsito o uso indebido del vehículo durante el periodo de alquiler.
Un modelo innovador de autoseguro para la comunidad.
- Funcionamiento: Una fracción de cada transacción alimenta el Fondo de Garantía Operativa.
- Cobertura: Destinado a cubrir siniestros menores, franquicias no cobrables y eventualidades donde el seguro tradicional no responde o es lento, garantizando que el propietario siempre reciba su compensación.
El repositorio sigue una estructura de monorepo moderna tipo Nx:
autorenta/
├── .github/ # Workflows de GitHub Actions (CI/CD)
├── apps/
│ └── web/ # Aplicación Angular Principal
│ ├── src/app/
│ │ ├── core/ # Servicios Singleton, Modelos, Interceptores, Guards
│ │ ├── features/ # Módulos Lazy-loaded (auth, cars, bookings, wallet, admin)
│ │ ├── layout/ # Componentes estructurales (Header, Sidebar, Footer)
│ │ └── shared/ # UI Kit, Pipes, Directivas, Componentes reusables
├── supabase/ # Infraestructura Backend
│ ├── functions/ # Edge Functions (Node/Deno)
│ ├── migrations/ # Esquema SQL versionado
│ └── seed/ # Datos de prueba
├── tools/ # Scripts de mantenimiento, auditoría y generación
├── docs/ # Documentación extendida
└── package.json # Dependencias raíz y scripts globales
- Node.js: v20 (LTS recomendado).
- PNPM: Gestor de paquetes obligatorio (
npm install -g pnpm). - Docker: (Opcional) Para levantar Supabase localmente.
-
Clonar el repositorio:
git clone https://github.com/ecucondorSA/autorenta.git cd autorenta -
Instalar dependencias:
pnpm install
-
Variables de Entorno: Duplica el archivo
.env.examplea.env.localy completa las credenciales de Supabase y MercadoPago. -
Iniciar Servidor de Desarrollo:
pnpm dev:web
La aplicación estará disponible en
http://localhost:4200.
El proyecto incluye una suite de herramientas en la carpeta tools/ y scripts/ para automatizar tareas.
Para la visualización de autos en 3D, utilizamos un script crítico de Python (optimize_glb.py) que prepara los activos para móviles.
Características:
- Compresión de geometría Draco.
- Redimensionamiento de texturas a 1K (1024x1024).
- Conversión de texturas a formato KTX2 (GPU friendly).
Uso:
# Requiere: pip install "gltf-transform[cli]"
python autorenta/optimize_glb.py assets/input.glb assets/output.glbEl frontend se compila y despliega en Cloudflare Pages o Vercel, aprovechando su CDN global para la entrega de activos estáticos.
Supabase gestiona la base de datos y la autenticación. Las migraciones de base de datos se aplican automáticamente mediante CI/CD al fusionar en main.
© 2026 Autorenta S.A.
Innovando la movilidad en Ecuador y Latinoamérica.