Best Stock Management System application
Go to file
Santiago Lo Coco 8ffc69f1d3 Fix cloudfront bug 2022-12-07 11:54:43 -03:00
docs Fix more bugs 2022-10-29 22:45:44 -03:00
terraform Fix cloudfront bug 2022-12-07 11:54:43 -03:00
.gitignore Fix more bugs 2022-12-06 13:40:14 -03:00
.pre-commit-config.yaml Remove backup and ses 2022-11-30 19:33:42 -03:00
LICENSE.md Add LICENSE and README 2022-10-15 19:02:19 -03:00
README.md Fix cloudfront bug 2022-12-07 11:54:43 -03:00
run.sh Add step-functions, update lambda and fix bugs 2022-12-01 19:26:34 -03:00

README.md

BSMSapp

Best Stock Management System application.

Descripción de los módulos

ACM

API Gateway

Construye una API REST que puede recibir requests POST, GET, PUT, DELETE y OPTIONS. En el caso de GET, va directo a la lambda de lectura de la tabla (lambdaDB). Por otro lado, en el caso de un POST, se encola en el SQS para luego ir a otra lambda (lambdaSQSDB). Finalmente, el OPTIONS se utiliza para poder soportar y habilitar CORS y que, por ende, funcionen correctamente los llamados a la API desde el sitio estático.

Ver apigw/README.md

CloudFront

Funciona como CDN y realiza caché de la API y del S3 (que hostea el sitio estático).

Cognito

Dynamo DB

Guarda el stock de los productos de los usuarios. Tiene una tabla compuesta por user (partition key), id del producto (sort key) y stock.

Lambda

Definimos 9 lambdas.

Route53

S3

Definimos 3 buckets. Uno para logs y dos para el frontend (el sitio estático en sí y uno www que se redirecciona al primero).

SNS

SQS

Se encarga de encolar POSTs recibidos por la API. Luego, dispara la lambda correspondiente (en este caso lambdaSQSDB).

Step Functions

VPC

Este módulo es externo. Se define en este toda la parte de networking que se detalla en el diagrama de la arquitectura (el cual se encuentra al final de este documento).

WAF

Protege la aplicación mediante 3 rules. Esto lo hace mediante la creación de un web ACL asociado a la distribución de CloudFront.

Diagrama de arquitectura deployada

architecture

Demo

demo