Este repositorio contiene un proyecto desarrollado para la Universidad UADE, materia arquitectura de aplicaciones. El objetivo del proyecto es utilizar los servicios de AWS para generar un MVP que utlice una arquitectura basada en eventos.
Sistema de compra de tickets online. En simples palabras, una tiquetera.
- AWS SAM: Infraestructura basada en codigo usando AWS SAM para el deploy y las pruebas.
- AWS SQS: Colas de mensajeria para arquitectura basada en eventos.
- AWS Elasticache: Base de datos de tipo Redis para manejo de colas de espera.
- AWS Lambda: Servicio serverless para procesamiento de datos.
- AWS Apigateway: Servicio para configuracion de endpoints e invocacion de lambdas.
- AWS DynamoDB: Base de datos no relacional para almacenar ventas.
- AWS IAM: Manejo de usuarios, roles y permisos para con los servicios dentro de AWS.
- AWS VPC: Cloud virtual privada para poder confiugrar las lambdas y tener acceso a recursos de AWS.
- TypeScript: Configuración inicial del proyecto con TypeScript.
- LocalStack: Configuración para servicios de AWS compatibles con LocalStack.
- Facilidad para probar la infraestructura localmente utilizando LocalStack.
- Clonar el repositorio a tu máquina local.
- Install AWS SAM CLI
- Instalar las dependencias necesarias utilizando
yarno tu gestor de dependencias favorito.- Si usas otro como
npm, recorda actualizar los scripts depackage.json.
- Si usas otro como
- Iniciar LocalStack utilizando Docker, instalar con:
-
Comando (MAC):
brew install localstack/tap/localstack-cli. -
Prerequisitos:
- docker
- docker-compose (version 1.9.0+)
-
Ejecutar el CLI instalado:
localstack startodocker-compose up -
Si no tenes configurado AWS anteriormente, podes hacerlo para esta ocacion usando:
aws configure set aws_access_key_id testaws configure set aws_secret_access_key testaws configure set region us-east-1Estos valores son placeholders, LocalStack no requiere credenciales de AWS reales
- Deployar el stack de SAM:
samlocal build && samlocal deploypara dev oyarn sam:deploy:prodpara prod. - Levantar las lambdas:
samlocal local start-api
Documentacion y guia sobre como levantar localstack si tienen mas dudas: https://medium.com/@ben.meehan_27368/how-to-setup-aws-locally-using-localstack-without-spending-a-buck-1c6e20bce8
Para cualquier pregunta o consulta sobre este proyecto, por favor contacta a equipo 5.
