Canil Kessy Sarameg

Site de vendas de Bulldog Francês e Lulu da Pomerânia (Spitz Alemão) com painel administrativo para o dono gerenciar os filhotes e acompanhar a visibilidade do negócio.

Corporativo · 2026 — Projeto para cliente
Next.jsTypeScriptSupabasePostgreSQLTailwind CSSVercel
Imagem de destaque do projeto Canil Kessy Sarameg

O Problema

O cliente criava Bulldog Francês e Lulu da Pomerânia (Spitz Alemão) e precisava de um site próprio para vender os filhotes, sem depender só de redes sociais e conversas soltas no WhatsApp. Além da vitrine pública, ele precisava de um painel administrativo para cadastrar e atualizar os filhotes sozinho, sem chamar um desenvolvedor a cada mudança, e de visibilidade sobre o negócio: quantas pessoas visitam o site, quais páginas e quais filhotes despertam mais interesse.

A Solução

  • Site público com Início, Sobre nós, Filhotes (filtro por raça e por disponibilidade), página individual de cada filhote com fotos, vídeo e dados, Clientes e Contato — com botão de WhatsApp que já leva o nome do filhote na mensagem.
  • Painel administrativo (/admin) para cadastrar, editar, reservar, marcar como vendido e excluir filhotes, com envio de fotos e vídeo. Os status (disponível, reservado, vendido) aparecem no site na hora.
  • Mural "Novos lares", gerenciado pelo painel, com as fotos dos clientes e seus filhotes, que serve como prova social no site.
  • Analytics próprio no painel: visualizações, visitantes, sessões, páginas mais vistas, origens de tráfego e dispositivos, sem cookies e sem guardar IP.
  • SEO: sitemap que inclui cada filhote, dados estruturados (negócio local e trilha de navegação) e domínio próprio com redirecionamentos.

Arquitetura

  • Next.js 16 (App Router) com TypeScript e Tailwind CSS 4, publicado na Vercel com deploy automático a cada push.
  • Supabase como backend: PostgreSQL para filhotes, fotos e métricas, Auth para o login do administrador e Storage para fotos e vídeos.
  • Segurança em três camadas no painel: proxy que bloqueia o acesso sem login, validação no servidor (sessão de no máximo 12 h e conta na lista de administradores) e RLS no banco, de modo que o público só lê e apenas o administrador grava.
  • Validação com Zod no navegador e no servidor, limites de tipo e tamanho nos uploads e cabeçalhos de segurança (CSP, HSTS, X-Frame-Options).
  • Leitura pública com cache invalidado pelo painel a cada alteração, para o site ser rápido e sempre atualizado.

Interface

Aprendizados

Pensar o painel como produto do cliente, e não só como acesso ao banco, mudou as decisões: reservar ou vender nunca apaga o cadastro, a URL do filhote não muda ao editar (para não quebrar links já compartilhados) e campos vazios simplesmente não aparecem no site. Já a medição de acessos sem cookies e sem IP deu visibilidade ao negócio sem expor os visitantes.