QrArt é uma aplicação web SaaS para criação de QR Codes dinâmicos e personalizados, desenvolvida como projeto de portfólio full-stack.
O sistema permite que usuários criem QR Codes com logo personalizada, utilizem redirecionamento dinâmico e realizem pagamentos via Stripe para desbloquear recursos.
💡 Este é o projeto mais desafiador que já desenvolvi até agora, envolvendo backend robusto, frontend SPA, autenticação JWT, integração com pagamentos e deploy em produção na AWS com HTTPS.
- Cadastro de usuário
- Login com JWT
- Controle de acesso por roles (
USER/ADMIN) - Endpoint
/api/users/me
- Geração de QR Code personalizado
- Upload de logo (PNG / JPG)
- Correção de erro nível H
- QR aponta para:
https://qrart.com.br/r/{id} - Redirecionamento dinâmico (permite alterar o destino sem gerar novo QR)
- Listagem de todos usuários
- Listagem de todos QR Codes
- Exclusão administrativa
- Integração com Stripe
- Webhook configurado
- Controle de QR pago vs pendente
- SPA em React
- Dark / Light mode
- Axios para requisições
- Token armazenado no
localStorage
- Java 21 (LTS)
- Spring Boot 3
- Spring Security
- JWT
- Spring Data JPA
- PostgreSQL (AWS RDS)
- ZXing (geração de QR)
- Stripe SDK
- Deploy em EC2
- Nginx Reverse Proxy
- HTTPS com Let's Encrypt
- React + Vite
- Axios
- Context API
- SPA servida pelo Nginx
- AWS EC2 (Ubuntu)
- AWS RDS (PostgreSQL)
- Nginx
- Certbot (SSL)
- Systemd service
qrart/
├── src/ (backend)
├── qrart-frontend/
├── pom.xml
└── README.md
📁 Uploads são armazenados em: /opt/qrart/uploads/qrcodes/
DB_URL=
DB_USERNAME=
DB_PASSWORD=
STRIPE_SECRET=
STRIPE_WEBHOOK_SECRET=
APP_BASE_URL=https://qrart.com.brO projeto está hospedado na AWS:
- EC2 (backend)
- RDS (PostgreSQL)
- Nginx (reverse proxy + SPA)
- HTTPS via Let's Encrypt
- Serviço configurado via systemd
✅ Configuração completa de Spring Security + JWT
✅ Controle de roles
✅ CORS em produção
✅ Reverse proxy com Nginx
✅ Certificado SSL
✅ Upload seguro de arquivos
✅ QR Code ilegível por sobreposição de logo
✅ Erros 403 / 413 em produção
✅ Integração Stripe com webhook em HTTPS
✅ Deploy manual completo na AWS
- Estatísticas de acesso ao QR
- Dashboard com métricas
- Armazenamento de imagens no S3
- Dockerização
- CI/CD
- Refresh token
Desenvolvido por Tiago Duarte
Desenvolvedor Java Júnior
Este projeto representa meu maior desafio até o momento, unindo:
- ✨ Backend enterprise
- 🎨 Frontend SPA
- 💳 Integração com pagamentos
- ☁️ Infraestrutura real em cloud
- 🌐 Deploy em produção com domínio próprio
Projeto para fins educacionais e portfólio.
⭐ Se este projeto te ajudou de alguma forma, considere dar uma estrela! ⭐