Skip to content

A system built on aws lambda, api gateway and dynamodb. Powered by aws and serverless framework

Notifications You must be signed in to change notification settings

Piton077/swapi-integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Esto es un proyecto demo para un challenge de Softtek

Consideraciones (Scope)

  • Si el usuario crea un registro que existe en SWAPI previamente, primara el registro en DynamoDB cuando se haga la búsqueda.
  • No dejara crear un registro si ya existe en la db
  • Uso nodejs 18
  • Cuando se quiera redeployar debes bajar los recursos en aws con serverless remove
  • La documentacion Open AI Swagger esta como archivo json en la carpeta raiz openapi.yml

Arquitectura

alt text

Pasos a seguir para desplegar

Debe tener previamente instalado aws cli configurado con una cuenta con permisos para acceder a

  • DynamoDB
  • Lambdas
  • CloudWatchLogs
  • CreaciondeIAM
  • API Gateway

Una vez verificado lo anterior. Correr las siguientes intrucciones para instalar las dependencias globales

npm install --global yarn
npm i serverless -g

Correr las siguientes instrucciones para el deploy

yarn install
npm run package:all
serverless deploy

Por temas de serverless compose plugin, las urls que aparecen en la consola se deben agregar unos sufijos.

  • api_url = API_GATEWAY_URL # esto aparece en la consola

Crear especies

POST api_url/api/v1/species

Buscar especie por nombre

GET api_url/api/v1/species/{name}?language=es

Nota

Para mas ayuda en temas de testing puedes correr los .rest. Debes tener instalado previamente Rest Plugin de VSCode

Correr en local

  1. tener docker y ejecutar docker-compose up
  2. correr el script run-dynamodb-local.sh
  3. correr npm run offline:dev
# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest is MIT licensed.

About

A system built on aws lambda, api gateway and dynamodb. Powered by aws and serverless framework

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published