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.
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.
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 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 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 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;
}
} 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.