L
Voltar aos projetos

Estudo de caso

Horavia

Demonstração funcional de agenda, clientes e serviços para pequenos negócios de atendimento, que qualquer pessoa pode testar sem criar conta.

Tecnologias

  • Next.js 16
  • TypeScript
  • Tailwind CSS
  • Supabase
  • Zod
  • Vitest

Contexto

O Horavia apresenta o Estúdio Aurora, um salão de beleza fictício, para mostrar um fluxo coerente de agenda, clientes e serviços. O repositório também traz a base de um produto real: autenticação com Supabase, banco Postgres com Row Level Security, CRUD protegido e pagamento com Stripe em modo de teste. Nomes, horários e valores exibidos são fictícios.

Decisões

  1. 01Demonstração sem dependências externas

    A rota /demo funciona sem conta, Supabase ou Stripe. O estado fica só no navegador, é validado com Zod e pode ser limpo ou restaurado. Assim, quem avalia testa o produto em segundos, sem credenciais.

  2. 02Isolamento de dados por negócio

    No esquema do banco, cada negócio pertence a um usuário e as tabelas de clientes, serviços e atendimentos têm Row Level Security habilitado, com políticas restritas ao dono.

  3. 03Acessibilidade verificada no CI

    Um teste com axe-core acusou contraste insuficiente: o texto laranja sobre fundo branco tinha 3,1:1. Criei uma cor de texto mais escura para o tema claro e mantive a original no tema escuro.

  4. 04Dependências auditadas

    A auditoria do npm apontou uma vulnerabilidade crítica no Next.js. Atualizei para a 16.4.2 e fixei as dependências internas afetadas: o npm audit passou de 6 vulnerabilidades para 0.

Resultados

Lighthouse mobile (página inicial)
100 / 95 / 100 / 100
Lighthouse mobile (/demo)
95 / 100 / 100 / 100
Testes unitários (Vitest)
6
Testes e2e de acessibilidade e layout
4
Vulnerabilidades em produção (npm audit)
0

Lighthouse: desempenho / acessibilidade / boas práticas / SEO, em modo mobile, medidos localmente em 19/10/2026.

O que ainda falta

  • Os fluxos com Supabase e Stripe exigem credenciais próprias e não ficam abertos na demonstração pública.
  • Todos os dados são fictícios.