Del clone al storefront
en 1 día
Skeleton Next.js 15 consumiendo las 8 libs. Fork, configure 3 env vars, personalice logo + color — está al aire.
Qué viene dentro
Todo lo que una tienda real necesita, listo para personalizar.
Home
Hero carousel + featured products + CTA
Listado con filtros facetados
Filtros por categoría, brand, precio, tag
Detalle de producto
Galería, variantes, precio por lista, add to cart
Carrito persistente
UUID + expiry, sync con Odoo cuando logueado
Wishlist completa
FAB, drawer, badge en header, sync logueado
Auth Supabase
Login email/contraseña + social, recuperación, perfil
Checkout completo
Direcciones, envíos, métodos de pago, NF-e
Dashboard cliente
Pedidos, descargas, direcciones, datos personales
Getting started
5 pasos del clone a la personalización.
Clone e instale
Fork el monorepo, instale dependencias con pnpm. Todo listo para typecheck y 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 el template
Edite .env.local con URLs de su Odoo, Elasticsearch y Supabase. Sin secreto, son 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 el dev server
Hero carousel default, listado de featured products de su Elasticsearch, header con search/wishlist/cart, footer.
pnpm --filter storefront-template dev
# → http://localhost:3000 Personalice el branding
Logo, colores vía tokens HSL, footer. Toda la UI sigue automáticamente.
/* app/globals.css */
@import "@kmee/shop-ui/tokens.css";
@layer base {
:root {
--primary: 25 100% 50%; /* su color */
--primary-foreground: 0 0% 100%;
--radius: 0.75rem;
}
} Personalice páginas y flujos
Sobrescriba páginas que necesite. Agregue nuevos componentes consumiendo los providers del shop-react.
// app/producto-customizado/page.tsx
"use client"
import { useCart } from "@kmee/shop-react"
import { ProductCard } from "@kmee/shop-ui"
export default function Page() {
const { addToCart } = useCart()
// ...
} Cuán profundo se puede personalizar
Del branding superficial al adapter customizado.
Branding visual
1 díaColores, fuente, radio, logo, footer. Sin tocar código TypeScript — solo CSS vars.
Contenido de las páginas
2–5 díasTextos, imágenes, banners del hero, links del footer, FAQ. JSX directo, fácil de modificar.
Nuevos flujos de checkout
1–4 semanasCotización B2B, aprobación por jerarquía, pago customizado. Componga con providers existentes.
Integración con gateway/ERP terceiro
1–3 semanasAdapter customizado enchufando como subclass de OdooHttpClient o ProductService.
¿Quiere un template white-label customizado?
KMEE entrega el template ya con su identidad visual, flujos B2B/B2C ajustados e integración con su Odoo. Lo recibe listo para deploy.