Este é um serviço de API REST para realizar operações CRUD em clientes. O projeto foi desenvolvido utilizando Node.js, TypeScript, Jest para testes e Serverless Framework para deploy.
- Node.js: O projeto requer a versão
>=20.x
. - Docker: Para rodar o DynamoDB localmente.
- Serverless Framework: Para deploy e execução offline.
-
Clonar o repositório: Primeiro, clone o repositório para o seu ambiente local.
git clone https://github.com/WalysonGO/client-api-with-dynamodb.git cd client-api-with-dynamodb
-
Rodando DynamoDB Local com Docker Compose: O Docker Compose é usado para rodar o DynamoDB localmente. Para iniciar o serviço, execute:
docker compose up -d
Isso iniciará o DynamoDB Local e configurará o banco de dados para ser utilizado pelo seu serviço.
-
Verificando os containers em execução:
Para verificar se os containers estão ativos, execute:
docker ps
Você deve ver o DynamoDB Local rodando no seu ambiente.
-
Instalar a versão correta do Node.js:
O projeto utiliza a versão do Node.js especificada no arquivo
.nvmrc
. Para garantir que você está usando a versão correta do Node.js, execute:nvm install
-
Usar a versão do Node.js:
Para configurar o Node.js para a versão correta, execute:
nvm use
Isso definirá a versão do Node.js para a especificada no arquivo
.nvmrc
.
Com o ambiente configurado, instale as dependências do projeto:
npm install
Para iniciar o serviço localmente utilizando o Serverless Offline, execute:
npm run dev
Isso iniciará o servidor offline, permitindo que você faça chamadas HTTP para o seu serviço localmente.
Para compilar o código TypeScript, execute:
npm run compile
Para executar todos os testes do projeto, incluindo compilação e execução do Jest, execute:
npm run test
Se você quiser rodar apenas os testes unitários, execute:
npm run unit
Para rodar os testes e gerar um relatório de cobertura de código, execute:
npm run test:coverage
Para rodar os testes em modo de observação (quando você modifica o código, os testes são executados automaticamente), execute:
npm run test:watch
Para realizar o deploy do serviço para a AWS, utilize o comando:
npm run deploy
Isso irá fazer o deploy utilizando o Serverless Framework, considerando as configurações do arquivo serverless.yml
.
- src/models: Contém as definições dos modelos (ex.
Client
). - src/services: Contém a lógica de negócios (ex.
ClientService
). - src/utils: Contém utilitários como o
DBManager
. - tests: Contém os testes do projeto.
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.
- Docker: Para rodar o DynamoDB localmente, basta executar
docker compose up -d
. - NVM: Para garantir que você está utilizando a versão correta do Node.js, use
nvm install
envm use
. - Comandos:
npm run dev
: Inicia o servidor local com o Serverless Offline.npm run test
: Executa os testes com Jest.npm run deploy
: Realiza o deploy para a AWS com o Serverless Framework.
Esse README.md
agora cobre a configuração do ambiente, os comandos para rodar o serviço, os testes e o deploy.