Una tienda completa sin servidor: el catálogo se construye en el build, el carrito vive en el navegador y el pedido sale por WhatsApp. Tres vistas: contenedores, flujos y despliegue. Haz clic en cualquier caja; reproduce un flujo para ver el recorrido.
Cada caja es una pieza que corre por separado: el navegador de quien compra, el almacenamiento local, el sitio estático o un servicio externo. Las líneas son llamadas reales: protocolo y qué viaja.
El catálogo son 17 productos que cambian poco: se resuelven en el build y cada uno tiene su URL propia. No hay base de datos, ni API, ni costo por venta. La parte dinámica (carrito, favoritos, checkout) es JavaScript sin framework en el navegador.
El checkout arma el pedido y abre WhatsApp con el detalle. El pago se coordina a mano por Yape, Plin, transferencia o contra entrega: la página solo muestra las instrucciones, no cobra nada. Es una demo de marca inventada, sin pagos reales.
Cuatro claves en localStorage: carrito, favoritos, historial de pedidos y último pedido. Los precios no se leen de ahí: se resuelven de nuevo desde los datos del build en cada render.
El resultado es un directorio dist/ sin proceso en ejecución. La tienda usa rutas reales (/producto/…), así que necesita raíz propia: un subdominio, no una subcarpeta.
El repo no trae workflow de despliegue; el código vive en GitHub.
docs/ARCHITECTURE.md describe esos puntos de extensión; ninguno está implementado.