Best Stock Management System application
Go to file
Santiago Lo Coco 6aac1882db Fix bugs and refactor 2022-11-02 09:50:42 -03:00
docs Fix more bugs 2022-10-29 22:45:44 -03:00
terraform Fix bugs and refactor 2022-11-02 09:50:42 -03:00
.gitignore Update modules and organization files 2022-10-22 18:50:18 -03:00
LICENSE.md Add LICENSE and README 2022-10-15 19:02:19 -03:00
README.md Fix more bugs 2022-10-29 22:45:44 -03:00
run.sh Reformat files 2022-10-23 16:33:14 -03:00

README.md

BSMSapp

Best Stock Management System application.

Descripción de los módulos

API Gateway

Construye una API REST que puede recibir requests POST, GET u 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

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

Dynamo DB

Guarda los datos de los stocks de los usuarios. Tiene una tabla compuesta por id (la partition key) y stock.

Lambda

Definimos 2 lambdas. Una se encarga de realizar escrituras al DynamoDB (lambdaSQSDB) y la otra de realizar lecturas (lambdaDB).

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).

SQS

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

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.

Descripción y referencia de funciones y meta-argumentos

Se debe notar que los links solo hacen referencia a la primera aparición en cada archivo.

Funciones

Junto a cada función se especifica para qué se usa.

Meta-argumentos

Diagrama de arquitectura deployada

Los servicios que deben ser corregidos (asociados a la entrega del TP3) son los numerados.

architecture

Demo

demo

Rúbrica

Alumno Legajo Participación
Bellver, Ezequiel 61268 25%
Burgos, Satiago Eduardo 55193 25%
Lo Coco, Santiago 61301 25%
Oillataguerre, Amparo 58714 25%