Caso de estudio · AWS Re/Start 2026 · Proyecto final

ES | EN

DŌJŌ

Plataforma serverless de fidelización gamificada

Ver plataforma
[ EN PRODUCCIÓN ] Fases 0 → 8 completadas 23 ADRs documentados
El cliente

Imaquinaria — tienda física de manga, anime y cultura japonesa en Temuco.

La necesidad

Sin sistema de fidelización: sin incentivo para volver, sin historial, sin datos.

Doble propósito

Sistema real para Imaquinaria + portafolio técnico cloud para empleabilidad.

Portal del cliente

  • Registro e inicio de sesión
  • Consulta de puntos, nivel y XP
  • Historial de compras
  • Canje de recompensas
  • Misiones activas (stamp cards)

Panel de administración

  • Registro de compras en caja
  • Gestión de recompensas
  • Gestión de misiones
  • Estadísticas de clientes
  • Configuración de niveles y multiplicadores
Zona 1 — Borde / Público
CloudFront (CDN, SPA routing)S3 Bucket (React static build)HTTPS vía Route 53
Zona 2 — Autenticación
API Gateway (HTTP API)Cognito User PoolValidación JWT en cada request
Zona 3 — Cómputo / Privado
AWS Lambda (FastAPI + Mangum)DynamoDB single-table (por tenant_id)SSM · SES · CloudWatch
CI/CD

GitHub Actions — despliegue de frontend (S3 / CloudFront) y backend (sam deploy). Gate manual requerido antes de producción.

01

DynamoDB single-table

ADR-0006 ↗

10+ entidades en una tabla. Claves PK/SK modeladas por acceso, no por entidad. Toda query incluye el tenant_id: aislamiento físico entre comercios sin infraestructura adicional.

02

Multi-tenant desde el inicio

Patrón single-tenant deployed, multi-tenant ready. Agregar un segundo comercio es registrarlo en la tabla — sin tocar lógica de negocio. La arquitectura no limita el crecimiento.

03

Pipeline con gate manual

ADR-0023 ↗

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.

04

Migraciones de datos como código

ADR-0019 ↗

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.

Requests en producción 3.397 últimos 30 días
Error rate (5xx) 0% Lambda + API Gateway
Latencia p50 end-to-end 151 ms API Gateway + Cognito JWT
Latencia DynamoDB 14–17 ms promedio todas las operaciones
Cold start rate 0,7% 24 de 3.397 invocaciones
Throttles Lambda / DynamoDB 0 últimos 30 días

Datos de CloudWatch · Lambda + API Gateway + DynamoDB · últimos 30 días

El Bushidō de Imaquinaria

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.0 Rōnin
×1.3 Samurai
×1.7 Hatamoto
×2.0 Daimyō
Tier premium KamonStamp cards digitalesSub-niveles con estados mentales Dōjō
FastAPIPython 3.13React 19TypeScriptMangumAWS LambdaAPI GatewayDynamoDBCognitoCloudFrontS3SESCloudWatchSSMAWS SAMGitHub Actions