{"id":27797926,"url":"https://github.com/walysongo/client-api-with-dynamodb","last_synced_at":"2026-04-11T19:31:41.702Z","repository":{"id":273459248,"uuid":"919740708","full_name":"WalysonGO/client-api-with-dynamodb","owner":"WalysonGO","description":"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.","archived":false,"fork":false,"pushed_at":"2025-01-21T02:43:29.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-05T23:07:49.671Z","etag":null,"topics":["docker","docker-compose","dotenv","dynamodb","dynamodb-local","jest","nodejs","nvm","serverless","serverless-framework","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WalysonGO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-20T23:24:33.000Z","updated_at":"2025-01-22T05:43:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"20ea2b22-99f7-4b98-9f5f-4cce12bed0d0","html_url":"https://github.com/WalysonGO/client-api-with-dynamodb","commit_stats":null,"previous_names":["walysongo/client-api-with-dynamodb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/WalysonGO/client-api-with-dynamodb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalysonGO%2Fclient-api-with-dynamodb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalysonGO%2Fclient-api-with-dynamodb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalysonGO%2Fclient-api-with-dynamodb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalysonGO%2Fclient-api-with-dynamodb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WalysonGO","download_url":"https://codeload.github.com/WalysonGO/client-api-with-dynamodb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WalysonGO%2Fclient-api-with-dynamodb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31693272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","dotenv","dynamodb","dynamodb-local","jest","nodejs","nvm","serverless","serverless-framework","typescript"],"created_at":"2025-04-30T22:54:26.639Z","updated_at":"2026-04-11T19:31:41.674Z","avatar_url":"https://github.com/WalysonGO.png","language":"TypeScript","readme":"# Client API\n\nEste é 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.\n\n## Requisitos\n\n- **Node.js**: O projeto requer a versão `\u003e=20.x`.\n- **Docker**: Para rodar o DynamoDB localmente.\n- **Serverless Framework**: Para deploy e execução offline.\n\n## Configuração do Ambiente\n\n### Usando Docker para DynamoDB Local\n\n1. **Clonar o repositório**:\n   Primeiro, clone o repositório para o seu ambiente local.\n\n   ```bash\n   git clone https://github.com/WalysonGO/client-api-with-dynamodb.git\n   cd client-api-with-dynamodb\n   ```\n\n2. **Rodando DynamoDB Local com Docker Compose**:\n   O Docker Compose é usado para rodar o DynamoDB localmente. Para iniciar o serviço, execute:\n\n   ```bash\n   docker compose up -d\n   ```\n\n   Isso iniciará o DynamoDB Local e configurará o banco de dados para ser utilizado pelo seu serviço.\n\n3. **Verificando os containers em execução**:\n\n   Para verificar se os containers estão ativos, execute:\n\n   ```bash\n   docker ps\n   ```\n\n   Você deve ver o DynamoDB Local rodando no seu ambiente.\n\n### Usando NVM (Node Version Manager)\n\n1. **Instalar a versão correta do Node.js**:\n\n   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:\n\n   ```bash\n   nvm install\n   ```\n\n2. **Usar a versão do Node.js**:\n\n   Para configurar o Node.js para a versão correta, execute:\n\n   ```bash\n   nvm use\n   ```\n\n   Isso definirá a versão do Node.js para a especificada no arquivo `.nvmrc`.\n\n## Instalando as Dependências\n\nCom o ambiente configurado, instale as dependências do projeto:\n\n```bash\nnpm install\n```\n\n## Comandos\n\n### Iniciar o Ambiente de Desenvolvimento\n\nPara iniciar o serviço localmente utilizando o **Serverless Offline**, execute:\n\n```bash\nnpm run dev\n```\n\nIsso iniciará o servidor offline, permitindo que você faça chamadas HTTP para o seu serviço localmente.\n\n### Compilação do TypeScript\n\nPara compilar o código TypeScript, execute:\n\n```bash\nnpm run compile\n```\n\n### Rodar os Testes\n\n#### Rodar todos os testes:\n\nPara executar todos os testes do projeto, incluindo compilação e execução do Jest, execute:\n\n```bash\nnpm run test\n```\n\n#### Rodar apenas os testes unitários:\n\nSe você quiser rodar apenas os testes unitários, execute:\n\n```bash\nnpm run unit\n```\n\n#### Rodar os testes com cobertura:\n\nPara rodar os testes e gerar um relatório de cobertura de código, execute:\n\n```bash\nnpm run test:coverage\n```\n\n#### Rodar os testes em modo de observação:\n\nPara rodar os testes em modo de observação (quando você modifica o código, os testes são executados automaticamente), execute:\n\n```bash\nnpm run test:watch\n```\n\n### Deploy\n\nPara realizar o deploy do serviço para a AWS, utilize o comando:\n\n```bash\nnpm run deploy\n```\n\nIsso irá fazer o deploy utilizando o **Serverless Framework**, considerando as configurações do arquivo `serverless.yml`.\n\n## Estrutura do Projeto\n\n- **src/models**: Contém as definições dos modelos (ex. `Client`).\n- **src/services**: Contém a lógica de negócios (ex. `ClientService`).\n- **src/utils**: Contém utilitários como o `DBManager`.\n- **tests**: Contém os testes do projeto.\n\n## Licença\n\nEste projeto está licenciado sob a **MIT License** - veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n\n### Resumo dos Pontos Importantes:\n\n- **Docker**: Para rodar o DynamoDB localmente, basta executar `docker compose up -d`.\n- **NVM**: Para garantir que você está utilizando a versão correta do Node.js, use `nvm install` e `nvm use`.\n- **Comandos**:\n  - `npm run dev`: Inicia o servidor local com o Serverless Offline.\n  - `npm run test`: Executa os testes com Jest.\n  - `npm run deploy`: Realiza o deploy para a AWS com o Serverless Framework.\n\nEsse `README.md` agora cobre a configuração do ambiente, os comandos para rodar o serviço, os testes e o deploy.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalysongo%2Fclient-api-with-dynamodb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwalysongo%2Fclient-api-with-dynamodb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalysongo%2Fclient-api-with-dynamodb/lists"}