Este projeto tem como objetivo criar uma API REST para cadastro de clientes utilizando AWS Lambda, DynamoDB e API Gateway.
-
Neste projeto, foi utilizado o padrão de projeto como o Clean Architecture e organização de código em responsabilidades de acordo com o SOLID.
-
Nele podemos criar, listar, atualizar e deletar clientes. Utilizamos os atributos ID (CPF), userName, email e age para cadastro de clientes.
-
Foi utilizado alguns padrões de validação de dados, como por exemplo, o email e o CPF (ID) deve ser válido.
-
Validações de cadastros duplicados, onde não é permitido cadastrar um cliente com o mesmo CPF (ID), valendo essa regra também para os outros métodos.
-
Regras também do body da requisição onde é obrigatório o preenchimento de todos os campos.
-
Configuração de segurança para a API, onde é necessário passar um token válido para acessar os métodos POST, PUT e DELETE.
-
Foi utilizado o DynamoDB para armazenamento dos dados, onde foi criado uma tabela com o nome de "users".
-
A API Gateway para expor a API REST.
-
E o Lambda para criar as funções que serão executadas quando a API for chamada.
-
Foi implementados testes unitários para validar as requisições e respostas da API.
-
Testes unitários utilizando o pytest.
-
Foi feito a integração contínua utilizando o Github Actions onde é executado os testes unitários implementados.
- Mais detalhes sobre a implementação do projeto, acesse o arquivo README.md.