apps/storefront-template

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.

1

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
2

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
3

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
4

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

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ía

Colores, fuente, radio, logo, footer. Sin tocar código TypeScript - solo CSS vars.

Contenido de las páginas

2-5 días

Textos, imágenes, banners del hero, links del footer, FAQ. JSX directo, fácil de modificar.

Nuevos flujos de checkout

1-4 semanas

Cotización B2B, aprobación por jerarquía, pago customizado. Componga con providers existentes.

Integración con gateway/ERP terceiro

1-3 semanas

Adapter 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.