Skip to content

SobralCybersec/qrcodegenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔲 QR Code Generator

Gerador de QR Codes com Spring Boot, AWS S3 e Docker

Java Spring Boot AWS S3 Docker Maven


📋 Sobre o Projeto

API REST desenvolvida em Spring Boot para geração de QR Codes com armazenamento automático na AWS S3. Solução containerizada com Docker, ideal para integração em sistemas que necessitam de geração dinâmica de QR Codes.

✨ Funcionalidades

  • 🎯 Geração de QR Codes personalizados
  • ☁️ Upload automático para AWS S3
  • 🐳 Containerização com Docker
  • 🚀 API REST simples e eficiente
  • 📦 Build otimizado com Maven

🛠️ Tecnologias

Tecnologia Versão Descrição
Java 17 Linguagem de programação
Spring Boot 3.5.8 Framework web
ZXing 3.5.0 Biblioteca para geração de QR Codes
AWS SDK 2.25.61 Integração com AWS S3
Maven 3.9.6 Gerenciador de dependências
Docker - Containerização

🚀 Como Executar

Pré-requisitos

  • Java 17+
  • Maven 3.9+
  • Docker (opcional)
  • Conta AWS com acesso ao S3

Configuração

  1. Clone o repositório
git clone <seu-repositorio>
cd qrcodegenerator
  1. Configure as variáveis de ambiente

Crie um arquivo .env na raiz do projeto:

AWS_ACCESS_KEY_ID=<sua-access-key>
AWS_SECRET_ACCESS_KEY=<sua-secret-key>
AWS_REGION=us-east-2
AWS_BUCKET_NAME=qrcodestoragesatushi

Executar Localmente

# Compilar o projeto
mvn clean package

# Executar a aplicação
java -jar target/qrcode-0.0.1-SNAPSHOT.jar

Executar com Docker

# Build da imagem
docker build -t qrcode-generator \
  --build-arg AWS_ACCESS_KEY_ID=<sua-access-key> \
  --build-arg AWS_SECRET_ACCESS_KEY=<sua-secret-key> \
  .

# Executar o container
docker run -p 8080:8080 qrcode-generator

📡 Endpoints da API

Gerar QR Code

POST /api/qrcode/generate
Content-Type: application/json

{
  "qrcodeurl": "https://exemplo.com"
}

Resposta (Exemplo):

{
  "qrcodeUrl": "https://s3.us-east-2.amazonaws.com/qrcodestoragesatushi/qrcode-123456.png",
  "status": "success"
}

📁 Estrutura do Projeto

qrcodegenerator/
├── src/
│   ├── main/
│   │   ├── java/com/dev/qrcode/
│   │   │   ├── controller/      # Controllers REST
│   │   │   ├── service/         # Lógica de negócio
│   │   │   ├── config/          # Configurações AWS
│   │   │   └── QrcodeApplication.java
│   │   └── resources/
│   │       └── application.properties
│   └── test/
├── Dockerfile
├── pom.xml
└── README.md

🔒 Segurança

  • ⚠️ Nunca commite credenciais AWS no repositório
  • 🔐 Use variáveis de ambiente para informações sensíveis
  • 🛡️ Configure políticas IAM adequadas no AWS S3
  • 🔑 Utilize AWS Secrets Manager em produção

🤝 Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/NovaFuncionalidade)
  3. Commit suas mudanças (git commit -m 'Adiciona nova funcionalidade')
  4. Push para a branch (git push origin feature/NovaFuncionalidade)
  5. Abra um Pull Request

Desenvolvido com ☕ e Java

About

Gerador de Código QR Com S3, Java Spring Boot, Docker

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published