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.

La app completa: tu teléfono y tu navegador llaman a API Gateway, que invoca Lambdas que leen y escriben en DynamoDB; GitHub dispara Amplify Hosting para publicar la página

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.