{"id":22409433,"url":"https://github.com/maryucha/nestjs-localstack-poc","last_synced_at":"2025-08-25T21:08:48.444Z","repository":{"id":266059395,"uuid":"897254245","full_name":"Maryucha/nestjs-localstack-poc","owner":"Maryucha","description":"PoC demonstrando integração entre NestJS e LocalStack","archived":false,"fork":false,"pushed_at":"2024-12-12T12:15:06.000Z","size":214,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T07:43:43.650Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Maryucha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-12-02T10:08:19.000Z","updated_at":"2024-12-12T12:15:11.000Z","dependencies_parsed_at":"2024-12-02T18:53:52.869Z","dependency_job_id":null,"html_url":"https://github.com/Maryucha/nestjs-localstack-poc","commit_stats":null,"previous_names":["maryucha/nestjs-localstack-poc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maryucha%2Fnestjs-localstack-poc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maryucha%2Fnestjs-localstack-poc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maryucha%2Fnestjs-localstack-poc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maryucha%2Fnestjs-localstack-poc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Maryucha","download_url":"https://codeload.github.com/Maryucha/nestjs-localstack-poc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245767541,"owners_count":20668870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-12-05T12:07:42.220Z","updated_at":"2025-03-27T02:22:03.159Z","avatar_url":"https://github.com/Maryucha.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## NestJS + LocalStack PoC\nEste repositório contém uma Proof of Concept (PoC) que demonstra como configurar e conectar um projeto **NestJS** com o **LocalStack**, simulando serviços AWS para desenvolvimento e testes.\n\nA PoC abrange a configuração de serviços AWS essenciais, como **S3, SQS e SES**, utilizando um módulo de configuração da AWS integrado ao NestJS.\n\n### Pré-requisitos\n\n**Docker**: Certifique-se de que o Docker está instalado e configurado.\n**Nest.js**: Requerido para desenvolvimento e execução do projeto backend.\n**LocalStack CLI**: Para interagir diretamente com os serviços AWS simulados.\n\n---\n\n### Endereços: \n\n[`LOCALSTAK`](https://app.localstack.cloud/inst/default/status)\n---\n\n### Estrtutura\n```bash\n/backend                # Código-fonte do backend NestJS\n  ├── src/              # Código principal do NestJS\n  ├── .env              # Arquivo de variáveis de ambiente do backend\n  ├── Dockerfile        # Dockerfile para o backend\n/localstack             # Configuração do LocalStack\n  ├── .env              # Arquivo de variáveis de ambiente para o LocalStack\n  ├── localstack-setup.sh # Script para inicialização e configuração dos serviços no LocalStack\n/rest-http              # Exemplos de requisições HTTP para teste\n  ├── s3.http           # Requisições de exemplo para S3\n  ├── ses.http          # Requisições de exemplo para SES\n  ├── sqs.http          # Requisições de exemplo para SQS\ndocker-compose.yml      # Configuração do Docker Compose para o backend e LocalStack\n```\n---\n\n### Configuração do Projeto\n\n1. Configure as variáveis de ambiente **LocalStack** Ajuste o arquivo localstack/.env conforme necessário:\n\n\n```env\nAWS_REGION=us-east-1\nAWS_ACCESS_KEY_ID=test\nAWS_SECRET_ACCESS_KEY=test\n```\n\n2. Configure as variáveis de ambiente **Backend** Configure o arquivo backend/.env para o ambiente do backend. Exemplo:\n\n```env\nAWS_REGION=us-east-1\nAWS_ACCESS_KEY_ID=test\nAWS_SECRET_ACCESS_KEY=test\nAWS_ENDPOINT=http://localhost:4566\n```\n\n3. Inicie os serviços no docker:\n```bash\ndocker-compose up --build\n```\n---\n\n### Sobre o projeto e seu funcionamento:\n\n#### Estrutura de Módulos\n\nAbaixo está a estrutura dos módulos do projeto NestJS + LocalStack:\n\n![Estrutura de Módulos](./screenshots/modulos.png)\n\n**Módulo de Configuração da AWS**\n\nO projeto inclui um módulo de configuração reutilizável para conectar o NestJS a serviços AWS (ou LocalStack). Ele é configurado no backend e fornece instâncias para:\n\n - S3: Armazenamento de objetos.\n - SQS: Processamento de mensagens em fila.\n - SES: Envio de emails.\n\n**Exemplo de Serviços**:\n\n - S3: Criação de buckets, upload e listagem de arquivos.\n - SQS: Envio, recebimento e exclusão de mensagens.\n - SES: Envio e listagem de identidades verificadas.\n\n---\n\n#### Testes\nUse as requisições HTTP localizadas em rest-http/ para testar os serviços simulados no LocalStack:\n\n- S3: Exemplos em s3.http.\n- SQS: Exemplos em sqs.http.\n- SES: Exemplos em ses.http.\n\n\u003ePara usar esses arquivos, ferramentas como REST Client para VS Code ou Postman são recomendadas.\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaryucha%2Fnestjs-localstack-poc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaryucha%2Fnestjs-localstack-poc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaryucha%2Fnestjs-localstack-poc/lists"}