Do clone ao storefront
em 1 dia
Skeleton Next.js 15 consumindo as 8 libs. Fork, configure 3 env vars, customize logo + cor - está no ar.
apps/storefront-template
O que vem dentro
Tudo que uma loja real precisa, pronto para customizar.
-
Home
Hero carousel + featured products + CTA
-
Listagem com filtros facetados
Filtros por categoria, brand, preço, tag
-
Detalhe de produto
Galeria, variantes, preço por lista, add to cart
-
Carrinho persistente
UUID + expiry, sync com Odoo quando logado
-
Wishlist completa
FAB, drawer, badge no header, sync logado
-
Auth Supabase
Login email/senha + social, recuperação, perfil
-
Checkout completo
Endereços, fretes, métodos pagamento, NF-e
-
Dashboard cliente
Pedidos, downloads, endereços, dados pessoais
Getting started
5 passos do clone à customização.
- 1
Clone e instale
Fork o monorepo, instale dependências com pnpm. Tudo pronto para typecheck e tests verdes.
git clone git@github.com:kmee/k-shop-libs.git cd k-shop-libs pnpm install pnpm typecheck # verde pnpm test # verde - 2
Configure o template
Edite .env.local com URLs do seu Odoo, Elasticsearch e Supabase. Sem segredo, são 3 backends.
# Odoo / Shopinvader NEXT_PUBLIC_ODOO_BASE_URL=https://shop.example.com/shop # Elasticsearch (server-side) ELASTICSEARCH_URL=https://elastic.example.com ELASTICSEARCH_API_KEY=YOUR-KEY ELASTICSEARCH_PRODUCT_INDEX=products # Supabase NEXT_PUBLIC_SUPABASE_URL=https://YOUR.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR-ANON-KEY - 3
Suba o dev server
Hero carousel default, listagem de featured products do seu Elasticsearch, header com search/wishlist/cart, footer.
pnpm --filter storefront-template dev # -> http://localhost:3000 - 4
Customize o branding
Logo, cores via tokens HSL, footer. Toda a UI segue automaticamente.
/* app/globals.css */ @import "@kmee/shop-ui/tokens.css"; @layer base { :root { --primary: 25 100% 50%; /* sua cor */ --primary-foreground: 0 0% 100%; --radius: 0.75rem; } } - 5
Customize páginas e fluxos
Sobrescreva páginas que precisar. Adicione novos componentes consumindo os providers do shop-react.
// app/produto-customizado/page.tsx "use client" import { useCart } from "@kmee/shop-react" import { ProductCard } from "@kmee/shop-ui" export default function Page() { const { addToCart } = useCart() // ... }
Quão fundo dá pra customizar
Do branding superficial ao adapter customizado.
-
Branding visual
1 diaCores, fonte, raio, logo, footer. Sem tocar em código TypeScript - só CSS vars.
-
Conteúdo das páginas
2-5 diasTextos, imagens, banners do hero, links do footer, FAQ. JSX direto, fácil de mexer.
-
Novos fluxos de checkout
1-4 semanasCotação B2B, aprovação por alçada, pagamento customizado. Componha com providers existentes.
-
Integração com gateway/ERP terceiro
1-3 semanasAdapter customizado plugando como subclass de OdooHttpClient ou ProductService.
Modo offline para avaliar
Sem backend real? Mockando, dá pra ver a UI rodando.
Se você quiser apenas avaliar a UI sem ter Odoo + Elasticsearch + Supabase configurados, é possível mockar os adapters retornando dados estáticos. O storefront-template tem fallback com FALLBACK_SLIDES e fake products - abra app/page.tsx e lib/server.ts para o ponto de entrada do mock.
Para avaliação séria com dados reais, sugerimos colar uma instância Odoo de demo da KMEE. Pergunte no diagnóstico.
Quer um template white-label customizado?
A KMEE entrega o template já com sua identidade visual, fluxos B2B/B2C ajustados e integração com seu Odoo. Você recebe pronto para deploy.