App de gastos hormiga en el AWS Free Tier
Nivel 100 · JavaScript básico · primera app serverless en AWS
Si alguna vez te preguntaste en qué se te fue la quincena y la respuesta fue "no sé, en cositas", llegaste al lugar correcto. Esas cositas son tus gastos hormiga: el café de la esquina, la galleta del súper, la suscripción que ya ni usas. En este workshop construyes la app para registrarlos desde la pantalla de bloqueo de tu teléfono.
Es para ti si puedes leer JavaScript básico y quieres construir, publicar y conservar una app propia en AWS. No necesitas experiencia previa con AWS.
Antes de tocar código vas a entender qué es la nueva experiencia de AWS: un proyecto contiene la cuenta donde vive tu app, AWS le asigna una Región y AWS Free Tier te deja construir sin pasar al plan de pago.
Qué vas a construir
Un Atajo en tu teléfono te pide cuánto gastaste y en qué, y lo manda a una API que vive en tu proyecto de AWS. La API guarda el gasto en una tabla, y una página te muestra la lista y el total por categoría.
Por dentro son cinco piezas:
- API Gateway recibe la petición y revisa la API key.
- Lambda corre tu código cuando llega una petición, y nada más.
- DynamoDB guarda tus gastos.
- GitHub guarda tu código y cada cambio que subes.
- Amplify Hosting publica tu página por HTTPS después de cada push.
Todo el backend lo describes con AWS CDK, en TypeScript, y lo despliegas con unos pocos comandos de npm run.
Cómo trabajas con Kiro
Primero publicas tu página con Amplify. Después creas una Lambda y una tabla a mano en la consola, las borras y las comparas con infraestructura como código.
El código de las Lambdas de gastos no viene hecho: lo escribe Kiro contigo. El repo trae una spec en .kiro/specs/gastos-hormiga/ con una lista de tareas. En cada módulo le das clic a la tarea que toca y Kiro sabe qué archivos tocar y qué reglas seguir.
No tienes que leer la spec. Tu trabajo es revisar lo que Kiro escribió antes de aceptarlo, y cada módulo te da dos o tres preguntas concretas para eso.
Cómo se sigue
Cada módulo tiene el mismo orden: el diagrama de lo que vas a construir, lo que haces, cómo lo revisas y un checkpoint al final. Cuando te toca hacer algo, lo ves así:
Te toca: corre este comando
npm run verify 0
El checkpoint de cada módulo es npm run verify N. Si sale verde, terminaste. Revisa el comportamiento de tu app y, cuando toca, corre los tests del repo, así que si tu Kiro escribió distinto que el del vecino y los dos salen en verde, los dos terminaron.
Agenda (120 min)
| Módulo | Qué haces | Tiempo |
|---|---|---|
| 0. Arranque | Haces fork del repo y revisas que tengas todo | 8 min |
| 1. Kiro y AWS | Confirmas tu proyecto y conectas Kiro con el Agent Toolkit | 20 min |
| 2. Tu página en Amplify | Conectas GitHub con Amplify y publicas tu página | 12 min |
| 3. Créditos y budget | Pones una alarma mensual de USD 10 | 8 min |
| 4. De la consola a tu API | Creas recursos a mano, entiendes CDK y despliegas tu API | 45 min |
| 5. Tu página y tu teléfono | Conectas tu página a la API y registras gastos desde el teléfono | 12 min |
| 6. Cierre | Limpias la app y conservas el código en GitHub | 15 min |
Antes de llegar
Necesitas tu cuenta de AWS creada y cuatro herramientas instaladas: Git, Node.js LTS con nvm, npm actualizado y el AWS CLI. Haz todo en casa: Antes del evento tiene los comandos para Windows, macOS y Linux.
El contrato de la app
La ruta base termina con dos operaciones. El detalle está en Contrato de la API.
| Método y ruta | Necesita | Responde |
|---|---|---|
POST /gastos |
API key | 201 con el gasto guardado |
GET /gastos |
Nada | 200 con tu lista de gastos |
Las categorías son fijas: cafes, snacks, transporte, suscripciones y otros.
¿Por qué el GET no pide nada? Porque así arrancamos, y en el módulo 5 lo vas a ver en tu propia página: cualquiera con el link ve tus gastos. Si quieres cerrarlo, el paso extra de login con Cognito le agrega autenticación.