GitHub Actions — despliegue de frontend (S3 / CloudFront) y backend (sam deploy). Gate manual requerido antes de producción.
Decisiones técnicas clave
01
Multi-tenant desde el inicio
El sistema se diseñó desde el primer día para más de un comercio: cada consulta lleva el identificador del comercio, así que sumar uno nuevo es registrarlo, sin tocar la lógica de negocio. Imaquinaria sigue siendo el primer club y el programa Bushidō es una configuración de la plataforma, no su límite.
Más de diez entidades comparten una tabla. Las claves PK/SK se modelan según los patrones de acceso y cada consulta incorpora el identificador del comercio.
GitHub Actions despliega a staging automáticamente. Producción requiere aprobación manual vía issue. Cinco bugs capturados en staging antes de llegar al sistema real.
Runner Python idempotente integrado en el pipeline CI/CD. Cada cambio de datos en DynamoDB pasa por PR, se versiona en git, y se aplica automáticamente en el deploy — cero pasos manuales post-deploy.
Latencia DynamoDB14–17 mspromedio todas las operaciones
Cold start rate0,7%24 de 3.397 invocaciones
Throttles Lambda / DynamoDB0últimos 30 días
Datos de CloudWatch · Lambda + API Gateway + DynamoDB · últimos 30 días
Architecture Decision Records
Cada decisión técnica no obvia quedó registrada con contexto, alternativas consideradas y consecuencias. El proyecto acumula 23 ADRs. Los cuatro más representativos están disponibles como documentos públicos:
Sistema de niveles con multiplicadores de puntos — los multiplicadores no son arbitrarios: están calibrados para que el canje de recompensas sea atractivo exactamente en el volumen de compra promedio del cliente de Imaquinaria.
×1.0Rōnin
×1.3Samurai
×1.7Hatamoto
×2.0Daimyō
Tier premium KamonStamp cards digitalesSub-niveles con estados mentales Dōjō