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.