Caso de estudio / 2024

Komvoy - Marketplace de Alquiler de Vehículos

Marketplace de alquiler de vehículos en producción que conecta propietarios de flotas con particulares. Construido con backend en NestJS y frontend en React, con sistemas en tiempo real, integraciones de pago y despliegue en AWS.

  • NestJS
  • React
  • TypeScript
  • PostgreSQL
  • AWS
  • Socket.IO
  • Stripe
Visitar el proyecto ↗
Vista previa del proyecto: Komvoy - Marketplace de Alquiler de Vehículos

Resumen

Komvoy es un marketplace de alquiler de vehículos que conecta propietarios de flotas con particulares. Fui el desarrollador principal tanto del backend en NestJS como del cliente en React, trabajando bajo la supervisión de un líder técnico más senior.

Logros destacados

Sistemas en tiempo real

  • Múltiples gateways de Socket.IO con autenticación JWT en la conexión
  • Entrega de actualizaciones en vivo a los usuarios correctos mediante salas en varias áreas del dominio

Sistema de notificaciones

  • Arquitectura completa de un sistema de notificaciones multicanal basado en el patrón Strategy
  • Cuatro estrategias ejecutándose en paralelo: WebSocket, Web Push, correo electrónico y SMS
  • Persistencia de notificaciones gestionada por un módulo de almacenamiento dedicado con DynamoDB

Perfil de usuario y verificación

  • Verificación telefónica mediante una factoría de proveedores (Twilio Verify / AWS SNS)
  • Correos transaccionales con Nodemailer/SES y plantillas internacionalizadas EN/ES

Flujo de dominio y modelado de datos

  • Esquema relacional PostgreSQL con TypeORM para usuarios, vehículos, flotas, alquileres, facturas y más
  • Más de 80 migraciones incrementales sin pérdida de datos
  • Flujos de dominio principales modelados con máquinas de estado explícitas

Pipeline de generación documental

  • Registro modular de secciones, plantillas Handlebars y renderizado PDF con Puppeteer
  • Soporte para múltiples modos documentales con secciones condicionales

Pagos y facturación

  • Integración completa con Stripe: onboarding de Connect, PaymentIntents, depósitos y SEPA Direct Debit
  • Procesamiento idempotente de webhooks con verificación HMAC-SHA256
  • Generación de facturas con cálculo de IVA y numeración fiscal

Autorización

  • Control de acceso basado en atributos con CASL y permisos granulares sobre más de 15 tipos de recurso
  • Aplicado mediante guards de NestJS en backend y guards de ruta en frontend

Formularios frontend complejos

  • Interfaces wizard multipaso construidas con React Hook Form y Zod
  • Gestión de creación de vehículos, operaciones masivas de flotas y administración de alquileres
  • Estado en tiempo real impulsado por eventos WebSocket

Despliegue e infraestructura cloud

  • Builds multi-stage con Docker, pushes a ECR y redeploys en ECS Fargate
  • Infraestructura con RDS PostgreSQL, DynamoDB, ElastiCache/Redis, S3, ALB, Lambda y SES