Voltar ao portfólio

Em produção

DescontoVivo

Plataforma de promoções com mais contexto, transparência e sinais de confiança.

O DescontoVivo reúne ofertas de diferentes lojas em um só lugar e apresenta informações que ajudam o usuário a avaliar melhor cada oportunidade. É uma aplicação real, disponível em produção e em evolução contínua.

Identidade visual oficial do DescontoVivo

Stack principal

  • Java 25
  • Quarkus 3
  • Angular 21
  • PostgreSQL
  • Flyway
  • Hibernate/Panache
  • Keycloak
  • Docker
  • Cloudflare R2
  • GitHub Actions
  • REST
  • SSE

Visão geral

Encontrar um preço baixo nem sempre é suficiente para decidir uma compra. A proposta do DescontoVivo é complementar cada promoção com contexto sobre a oferta, a loja, o vendedor, a entrega e cupons disponíveis.

A plataforma atende pessoas que desejam descobrir e compartilhar promoções com mais transparência. As ofertas passam por fluxos de publicação e moderação antes de compor a experiência pública.

Meu papel

Sou responsável pela idealização e pela entrega end-to-end do DescontoVivo, com prioridade técnica no backend e na operação segura da aplicação.

  • Decisões de produto e arquitetura de software
  • Desenvolvimento da API Java e da interface Angular
  • Autenticação, autorização e fluxos de moderação
  • Persistência, armazenamento e processamento de imagens
  • Infraestrutura, pipelines, SEO, analytics e observabilidade
  • Publicação, acompanhamento e evolução em produção
  • Importadores e automações para marketplaces

Arquitetura

A solução separa a experiência web, a API, identidade, persistência e armazenamento de objetos. O backend é um monólito modular com separação pragmática de responsabilidades, não uma arquitetura de microsserviços.

  1. Interface Angular

    Aplicação Angular standalone com páginas públicas prerenderizadas, SEO por rota, acessibilidade e áreas autenticadas.

  2. API Java + Quarkus

    API REST organizada em módulos de promoções, engajamento, lojas, moderação, contas, notificações e upload.

  3. PostgreSQL + Flyway

    Persistência relacional com Hibernate ORM/Panache e migrações versionadas aplicadas no ciclo da aplicação.

  4. Keycloak

    Autenticação OIDC e autorização por perfis para usuários, moderadores e administradores.

  5. Cloudflare R2

    Armazenamento compatível com S3 para imagens processadas, uploads temporários e publicação controlada.

  6. Automação e operação

    Docker e GitHub Actions apoiam testes, imagens de aplicação, deploy e verificações de saúde em produção.

Capacidades principais

Os fluxos abaixo estão implementados no ecossistema público do DescontoVivo.

  • Criação, publicação, busca e detalhamento de promoções
  • Aprovação, rejeição, edição e remoção em fluxos de moderação
  • Autenticação OIDC e autorização por perfis
  • Votos, comentários e respostas em promoções
  • Cupons e contexto de loja, vendedor e entrega
  • Sinais de confiança e curadoria exibidos na interface
  • Upload, processamento WebP e armazenamento de imagens
  • Atualizações por Server-Sent Events para áreas públicas e administrativas

Decisões técnicas

As escolhas priorizam produtividade, segurança, manutenção e uma operação coerente com o estágio atual do produto.

Java + Quarkus

Base tipada para regras de negócio e APIs, com validação, segurança OIDC, documentação OpenAPI e health checks.

Monólito modular

Mantém limites claros entre domínios sem introduzir a complexidade operacional de serviços distribuídos antes da necessidade.

PostgreSQL + Flyway

Combina persistência relacional com evolução explícita e reproduzível do esquema.

Keycloak

Centraliza login e autorização, enquanto a API aplica JWT Bearer e perfis de acesso nos recursos protegidos.

REST + SSE

REST atende operações e consultas; SSE distribui atualizações leves sem exigir uma conexão bidirecional.

R2 + processamento de imagens

Evita hotlink de imagens e mantém o armazenamento sob controle da aplicação, com validação e conversão para WebP.

Operação em produção

A aplicação é publicada e acompanhada como um produto real, com processos separados para interface, API e automações.

  • Builds e validações automatizados com GitHub Actions
  • Imagens Docker e deploy controlado da API
  • Health checks da aplicação em produção
  • Swagger e OpenAPI desativados no perfil de produção
  • Analytics com consentimento e eventos de produto na interface
  • Metadados, sitemap e dados estruturados para páginas públicas
  • Evolução contínua com testes automatizados nos fluxos principais

Status atual

O DescontoVivo está disponível em produção e continua evoluindo. O case descreve somente capacidades verificadas no código e na configuração dos projetos, sem atribuir métricas de negócio não comprovadas.

Código público

A aplicação e sua arquitetura são a prioridade deste case. Para uma análise técnica adicional, os repositórios públicos do backend e do frontend estão disponíveis separadamente.