diff --git a/README.md b/README.md index d94e9f2..fdf7cf8 100644 --- a/README.md +++ b/README.md @@ -2,51 +2,38 @@ Best Stock Management System application. -## Descripción de los módulos +## Módulos -### ACM +- ACM -### API Gateway +- 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. +- CloudFront -Ver [apigw/README.md](terraform/modules/apigw/README.md) +- Cognito -### CloudFront +- Dynamo DB -Funciona como CDN y realiza caché de la API y del S3 (que hostea el sitio estático). +- Lambda -### Cognito +- Route53 -### Dynamo DB +- S3 -Guarda el stock de los productos de los usuarios. Tiene una tabla compuesta por `user` (partition key), `id` del producto (sort key) y `stock`. +- SNS -### Lambda +- SQS -Definimos 9 lambdas. +- Step Functions -### Route53 +- VPC -### S3 +- WAF -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 +## Diagrama de arquitectura original -### 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](https://registry.terraform.io/modules/terraform-aws-modules/vpc/aws/latest). 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. +original ## Diagrama de arquitectura deployada diff --git a/docs/original.png b/docs/original.png new file mode 100644 index 0000000..d1e944e Binary files /dev/null and b/docs/original.png differ