- Consultar todos los productos
- Consultar producto más detallado
- Crear un producto
- Editar un producto
- Eliminar un producto
- GET
- GET
- POST
- PUT
- DELETE
BODY: json
{
"nombre": "Nombre del producto",
"descripcion": "Una descripcion del producto",
"categoria": "Una categoria",
"precio": valor,
"cantidad": cantidad
}
Se trabajó con las siguientes herramientas:
- NodeJS versión 14.17.5
- Serverless versión 2.21
- Mongo DB version 4.1.1
- AWS IAM
- AWS Api Gateway
- AWS Lambda
Serverless
npm install -g serverless
MongoDB
npm install mongdb
Se utilizaron los siguientes plugin para validación de request y documentación API
Plugin | Versión |
---|---|
serverless-reqvalidator-plugin | 2.0.0 |
serverless-aws-documentation | 1.1.0 |
Instalación de plugins
npm install serverless-reqvalidator-plugin
npm install serverless-aws-documentation --save-dev
Se debe crear una cuenta gratuita en AWS (requiere tarjeta de crédito):
- Se ingresa a IAM para crear un usuario
- Se aplica políticas de acceso [AdministratorAccess]
- Se obtiene la key y el secret que usaremos con el serveless más adelante
Configuración de credenciales para los deploy de serveless
serverless config credentials --provider aws --key key --secret secret
serverless create --template aws-nodejs --path mercaApp
Configuración de plugins
Dentro del archivo serverless.yml posterior a service: <nombre_app>
plugins:
- serverless-reqvalidator-plugin
- serverless-aws-documentation
Uso de Mongo DB como layer de lambda
npm install --prefix ./nodejs mongodb
Probar una función de forma local
serverless invoke local --function getProducts
#Enviando Información
serverless invoke local --function createProduct --data '{ "nombre": "nombre producto" }'
Desplegar todo el proyecto
serverles deploy
Desplegar una función en específico
serverless deploy --function <nombre_funcion>
MIT
Aplicación como prueba técnica!