Ferri Schoedl Advocacia · Site institucional com loja e cursos · 2026
Um escritório de advocacia que é também editora e escola.
Site institucional de um escritório de advocacia em São Paulo com loja de livros jurídicos, cursos preparatórios e publicações — pagamentos Stripe e leitura protegida.
- E-commerce
- Conteúdo pago
- Stripe
- Cliente
- Ferri Schoedl Advocacia, São Paulo
- Estado
- Em produção; cálculo de frete real em implementação.

Homepage — áreas de atuação, publicações e loja.
Contexto
Um escritório com seis áreas de atuação e um sócio autor de 10 livros e 23 artigos queria um site que fosse ao mesmo tempo cartão de visita, editora e escola: vender livros em papel e digital e cursos com materiais por aula.
O problema
Quem compra um livro jurídico não quer criar conta antes de pagar, mas depois de pagar precisa de uma conta para ler. O fluxo tinha de converter convidado em utilizador sem fricção.
PDF e ePub comprados têm de ficar atrás de autenticação e associados à compra.
O meu papel
Único developer, incluindo DNS, domínio e configuração de email transacional num subdomínio isolado do alojamento antigo do cliente.
Restrições
- Comprar sem criar conta; ler depois de comprar com conta. O fluxo tinha de converter sem fricção.
- Email transacional num subdomínio isolado do alojamento antigo do cliente.
Solução
Next.js com checkout Stripe live, modelo Purchase, leitor de livros, rotas protegidas de download, gate de checkout por OTP (verificar email → entrar ou registar), conversão de convidado em utilizador com definição de password pós-compra, e painel de administração para livros, cursos, artigos, conteúdo do site e pedidos.
O que foi construído
- Seis áreas de atuação com páginas próprias; página de publicações com 10 livros e 23 artigos.
- Cursos com materiais PDF por aula.
- Tema claro/escuro, conformidade LGPD.
- Resend em subdomínio dedicado (send.) com DKIM, sem tocar no email corporativo em cPanel.
Decisões-chave
OTP antes do pagamento, password depois
O email é verificado por código antes do checkout. Se já existe conta, entra; se não, a compra cria-a e a password define-se depois. Ninguém abandona o carrinho por causa de um formulário de registo.
Resultado
Site e loja em produção com vendas via Stripe; painel operado pela equipa do escritório.
Stack
Next.js 15 · TypeScript · MongoDB · NextAuth · Stripe · Resend · Cloudinary · Tailwind CSS v4 · Vercel
