Renta
API Web en .NET 9.0 para alquileres premium (autos, yates) y gestión de eventos con boletos QR, pagos con Stripe y manejo multimedia.
Resumen
Backend modular de alto rendimiento para alquileres de lujo y gestión de eventos, con inventario multi-entidad para autos, yates y eventos, además de ticketing QR y flujos de pago integrados.
Arquitectura
Renta.WebApi -> Renta.Application (CQRS) -> Renta.Domain -> Renta.Infrastructure. Rutas con FastEndpoints, FluentValidation, doble DbContext para lectura/escritura, webhooks de Stripe y media con Cloudinary.
Decisiones técnicas clave
Patrón CQRS para separar operaciones de lectura y escritura
FastEndpoints para APIs modernas y mínimas en lugar de MVC
Patrón repositorio para acceso a datos testeable
Doble DbContext para separar lectura/escritura orientado a CQRS
FluentValidation para validación declarativa de requests
Cloudinary para CDN multimedia escalable
Webhooks de Stripe para pagos asíncronos e idempotentes
Autenticación JWT para seguridad stateless por roles
Desafíos
El doble DbContext aumenta la complejidad de migraciones
Las pruebas de webhooks requieren CLI o entorno staging
Validación QR offline frente a sincronización en tiempo real
Cloudinary introduce dependencia de proveedor
CQRS agrega sobrecarga de archivos/modelos, pero mejora consultas
Compromisos
Complejidad de API monolítica vs servicios modulares
Complejidad de CQRS vs optimización de consultas
Esquema de FluentValidation vs mayor código de aplicación
JWT stateless vs gestión formal de sesiones
Dependencia de Cloudinary vs beneficios de media gestionada