Nicchon.
Todos os projetos
SistemaEm produção· 2026

Sanctius

E-commerce de vestuário sacro católico em produção. Estética Apple-style, checkout dual (API + wa.me), hosting compartilhado barato.

Capa do projeto Sanctius

Sobre

Sanctius é a marca de vestuário sacro do meu sócio Mikael Cayron — proposta de 'Alta Tecnologia da Fé', minimalismo de luxo, cada peça tratada como obra. A construção técnica é minha: arquitetura pragmática Next.js 15 export estático + CodeIgniter 4 + Shield + MySQL no mesmo subdomínio Hostgator shared, com .htaccess roteando /api/*. Decisão consciente pra hosting barato funcionar sem servidor Node em produção. Vendor sobe via FTP.

Stack

  • Next.js 15
  • React
  • TypeScript
  • Tailwind
  • CodeIgniter 4
  • Shield
  • MySQL
  • Framer Motion
  • Embla Carousel
  • Zustand
  • Fuse.js

Decisões

  • Stack pragmática anti-Vercel-anti-Laravel — Next estático + CI4 + Shield + MySQL no mesmo subdomínio Hostgator shared. Hosting compartilhado funciona, vendor sobe via FTP.
  • Checkout dual: API REST cria pedido real (status pending, código SAN-XXXX sequencial, reserva transacional de estoque, idempotência via cache 10min, rate limit 5/min/IP, auto-cancel pending >30min com devolução de estoque) E em paralelo gera wa.me com mensagem pré-formatada.
  • Camada de dados desacoplada do dia 1 — lib/api/client.ts + lib/domain/types.ts permitiram o front desenvolver contra mocks tipados antes do CI4 existir.
  • Hardening de segurança em camada própria sobre o Shield — brute-force (5 falhas/IP/5min → ban 1h em cache), detecção de IP novo por user, honeypot via set404Override em CI4, geolocalização ipinfo.io, alertas WhatsApp com dedup.
  • Headers de segurança completos via .htaccess — HSTS preload, CSP detalhada, X-Frame, Referrer-Policy, Permissions-Policy + bloqueio de .env, .git, .ssh, etc.
  • Carrinho headless em Zustand + storytelling com Framer Motion + busca fuzzy via Fuse.js — sem dependência de plataforma e-commerce SaaS.

Desafios técnicos

  • Cálculo de frete via Melhor Envio v2 que pode falhar: cache de 1h + fallback de tabela regional por 1º dígito do CEP quando token falha. Checkout nunca trava por falha externa.
  • Honeypot em hosting compartilhado: rewrite no Apache + set404Override em CI4 capturando wp-admin/.env/.git/phpmyadmin com resposta 200 fake plausível.
  • Vendor PHP sem SSH/Composer no servidor: bootstrap pinado do appstarter 4.5.6 via composer create-project + rsync --ignore-existing, depois deploy via FTP.
  • CR-1 documentado: rota /api/install/migrate?token=... removida em auditoria — endpoint de migration via URL é red flag clássico.

Galeria

Hero da home — minimalismo de luxo, tipografia editorial e key-visual de peça em destaque. Estética 'Alta Tecnologia da Fé' coerente com posicionamento da marca.
Listagem de produtos com filtros — Drops e Coleções, ProductSeal (SVG generativo) como capa fallback quando ainda não há foto da peça.
Página de produto — variações (tamanhos/sabores), descrição rica, sacola headless via Zustand. Checkout dispara API REST + paralelo gera wa.me.
Visualização mobile — Next.js 15 export estático no Hostgator shared, performance otimizada. Glassmorphism em menus coerente com briefing de luxo.