~/h0wzy/work/telasparana LEIAME.mdworkcvprivacy-policyen

Telas Paraná

em produção trabalho para cliente

Telas Paraná: cercamento e proteção perimetral, Londrina/PR. 40 anos, três gerações.

2026-03-242026-06-28 · 368 commits

o_problema

Uma empresa de cercamento com 40 anos cujo único canal de entrada era telefone e boca a boca. Sem captura de contato, sem atribuição de marketing, sem registro de quem pediu orçamento. Todo lead que não ligava naquele instante era perdido.

o_que_faz

  • Site institucional one-page orientado à conversão: hero, números, produtos, serviços, segmentos, obras realizadas, depoimentos e contato.
  • Todos os CTAs montam uma mensagem contextual e abrem o WhatsApp já preenchido, o caminho de conversão real do negócio.
  • Captura de leads com nome, WhatsApp, e-mail, interesse e consentimento LGPD, gravado em schema próprio com rastreio de UTMs.
  • Autenticação de cliente completa: cadastro tradicional e login social Google por BFF server-side, área de conta protegida, conclusão de cadastro para contas Google incompletas e upload de avatar.
  • Avaliações do Google em tempo real via Places API, filtradas em quatro estrelas ou mais, com fallback estático.
  • Galeria de 25 fotos WebP em três categorias, player de vídeo institucional próprio que pausa ao sair da viewport, e tema dark/light sem flash.

stack

frontend

Next.js (App Router) · TypeScript · Tailwind CSS v4 · Vitest

backend

C# / .NET 10 · ASP.NET Core · EF Core 10 + Npgsql · PostgreSQL 16 · xUnit + Moq

infra

Google Cloud · Terraform · Cloud Run · Cloud SQL · GitHub Actions

medido

Commits
368histórico git, 24/03/2026 a 28/06/2026
Versão em produção
v2.4.6changelog do README
Ambientes provisionados por Terraform
3envs/ contém DEV, HML, PROD

como_foi_construido

Evolução por versões numeradas com changelog mantido no README, da v1.0.0 à v2.4.6. O padrão visível no histórico: cada versão entrega funcionalidade, e a seguinte é quase sempre hardening de segurança do que acabou de entrar. A v2.1.0 entregou auth; a v2.1.1 corrigiu verificação de assinatura JWT, open redirect e MIME do avatar. A v2.4.0 entregou avatar; a v2.4.1 trocou PBKDF2 por Argon2id com parâmetros OWASP: 19 MiB, duas iterações, paralelismo um.

A v2.4.2 foi uma remediação completa após auditoria de cybersecurity e LGPD: guard anti-pwn-request no CD, rate limiting pelo IP real do cliente atrás do Cloud Run via forwarded headers, rotação atômica de refresh token com detecção de reuso que revoga a família inteira, mitigação de enumeração de usuário por timing no login, CPF mascarado nas respostas, PII removida dos claims do JWT, CSP nonce-based enforced, e containers não-root com imagens base pinadas por digest.

Segurança é trilha própria, com issues numeradas rastreadas até um apply validado em produção. A v2.4.4 fechou a exposição pública da users-api (invoker restrito à service account do frontend, autenticação service-to-service por ID token do Google) e migrou avatares de bucket público para bucket privado servido por proxy autenticado.

Infraestrutura é Terraform de ponta a ponta, com módulos e configuração por ambiente para DEV, HML e PROD: três aplicações em Cloud Run, Postgres no Cloud SQL, seis segredos no Secret Manager, imagens no Artifact Registry e três service accounts least-privilege. O CD roda em GitHub Actions com Workload Identity Federation, então nenhuma chave de service account é versionada.

limitacoes_conhecidas

  • A validação de AllowedHosts está adiada, e o README diz o motivo: fixar a lista errada derruba o deploy no Cloud Run, e o ganho é marginal diante do que já existe.
  • O segredo de assinatura HS256 é compartilhado entre a users-api e o BFF. A migração para RS256 está registrada como baixa prioridade, não como descuido.
  • A verificação de e-mail no cadastro tradicional continua pendente. O login Google já chega com endereço verificado, então a lacuna afeta só um dos dois caminhos de cadastro.

roadmap

  • v2.5: painel CRM de leads
  • v2.6: validação de contato por token
  • v2.7: chatbot IA/RAG qualificando leads sobre o catálogo
  • v2.8: pagamentos e marketplace
  • Migração para GKE conforme o tráfego exigir

tempo de código rastreado

6 hrs 43 mins Fonte: WakaTime · rastreado desde 2026-03-17 até agora

voltar para todos os trabalhos