Aplicação desenvolvida em Java 21 com Spring Boot, projetada para gerar QR Codes a partir de uma URL e enviá-los automaticamente para um bucket S3 da AWS. O projeto foi conteinerizado com Docker, garantindo execução simples e portabilidade entre ambientes.
- Java 21
- Spring Boot
- Google ZXing → Geração de QR Codes
- AWS SDK for Java → Upload das imagens geradas para o Amazon S3
- Docker → Containerização e execução isolada da aplicação
- Maven → Gerenciamento de dependências e build
src/main/java/com/helonxavier/qrcode/generator
│
├── controller/ # Endpoints REST
├── dto/ # Objetos de requisição e resposta
├── service/ # Lógica de geração e upload
├── infrastructure/ # Comunicação com a AWS S3
└── ports/ # Interfaces e contratos do domínio
O QR Code Generator é uma API REST que recebe uma URL e gera um QR Code correspondente. O QR Code é salvo localmente e também enviado para um bucket S3 da AWS, retornando o link público de acesso à imagem.
Fluxo resumido:
- O cliente envia uma requisição
POST /qrcodecom uma URL. - A aplicação gera o QR Code usando ZXing.
- O arquivo é enviado ao Amazon S3 via AWS SDK.
- A resposta contém o link público do QR Code.
Crie um arquivo .env com as seguintes variáveis de ambiente:
AWS_ACCESS_KEY_ID=seu_access_key
AWS_SECRET_ACCESS_KEY=sua_secret_key
AWS_REGION=us-east-1
AWS_S3_BUCKET_NAME=nome-do-seu-bucket🐳 Executando com Docker
- Build da imagem
docker build -t qrcode-generator:1.0 .
- Executar o container
docker run -d -p 8080:8080 --name qrcode-generator qrcode-generator:1.0
A aplicação estará disponível em: 👉 http://localhost:8080
🧑💻 Autor Helon Bentes Bastos Xavier | Engenharia de Software