Este projeto tem como objetivo a utilização de GraphQL integrado com
o banco de dados DynamoDB. A implementação foi dividia em quatro partes,
sendo a implementação final contida na pasta graphql-dynamodb-pt4
Três padrões de projeto foram utilizados e eles são:
- Repository
- Factory
- Dependency Injection
As ferramentas utilizadas para o desenvolvimento são:
- localstack: Emula o ambiente de execução de lambda functions da AWS localmente
- serverless-offline: Plugin serverless que permite a execução de lambda functions localmente, em conjunto com o localstack de forma rápida.
- serverless-dynamodb-local: Plugin serverless que permite o uso local do DynamoDB, em conjunto com o localstack
- dynamoose: ORM para uso do DynamoDB
- apollo-server-lambda: Server GraphQL para ambientes aws lambda
Para a execução local do projeto, é obrigatória a execução do localstack. Para inicializá-lo, na pasta raiz do projeto, usaremos o docker compose
docker-compose up -d localstack
Uma vez que o container esteja executando:
- Instale as dependências do projeto
yarn install
- Startup do projeto
yarn start
Antes de realizar o deploy na AWS, verifique as configurações da região e perfil utilizados na AWS no arquivo serverless.yml, dentro da propriedade provider
- Deploy do projeto
sls deploy
- Remoção do deploy
sls remove