04 · Estudo de caso

AJ Esportes

Loja de artigos esportivos de ponta a ponta: catálogo, frete calculado na hora, checkout no Mercado Pago e um painel onde o dono cuida de produtos, categorias e métricas.

  • TypeScript
  • Supabase
  • React
  • Payment Gateway

Vender artigo esportivo online é um fluxo inteiro, não uma vitrine. O cliente precisa achar o produto, ver o frete real para o CEP dele, pagar, e sair dali com um pedido que existe de verdade do outro lado. Qualquer ponta que falta vira conversa manual: alguém calcula o frete na mão, alguém confirma o pagamento na mão, alguém anota o pedido em algum lugar. Funciona com dez pedidos por semana e desmonta acima disso.

E tem o outro lado do balcão. O catálogo muda o tempo todo — linha nova, item de temporada, preço que sobe. Se cadastrar produto significa mexer no banco ou chamar o desenvolvedor, a loja anda na velocidade de quem tem a senha, e a prateleira fica velha.

O caminho óbvio
  • Uma tabela de frete fixa: preço por região, ou grátis acima de certo valor.
  • Dar o pedido como pago quando o cliente volta da tela de checkout.
  • Editar direto no banco, ou chamar o desenvolvedor toda vez que chega novidade.
O que eu fiz
  • Cotação em tempo real pelo SuperFrete, calculada a partir do carrinho e do CEP. Peso e distância são o que o frete custa de fato, então tabela fixa ou come a margem nos pedidos pesados ou espanta o cliente nos baratos.
  • Só confirmar quando o webhook do Mercado Pago avisa. O retorno diz que o cliente voltou, não que o dinheiro entrou — ele pode fechar a aba com o pagamento feito ou voltar sem ter pago, e quem sabe a diferença é o Mercado Pago.
  • Um painel admin com CRUD completo de produtos e categorias, mais um dashboard de métricas. Quem conhece o estoque é o dono da loja, não eu, e catálogo que depende de deploy para mudar é catálogo que para de ser atualizado.

A loja funciona de ponta a ponta sem ninguém no meio: o cliente escolhe, vê o frete calculado para o CEP dele, paga, e o pedido só nasce depois que o pagamento é confirmado na fonte. Por dentro, o dono cadastra produto, cria categoria e lê os números no dashboard sem pedir nada a ninguém — que é a diferença entre um site entregue e uma loja sendo tocada.