Volver a la arquitectura

Catálogo público

Tienda web pública

Un sitio Astro simple: muestra el catálogo real (leído de los mismos endpoints públicos de solo lectura del backend) y cada producto enlaza a WhatsApp para consultar. Sin carrito, sin checkout, sin pago online.

¿Qué es?

El proyecto Frontend: un sitio Astro (páginas estáticas, sin framework de componentes tipo React) con contenido de marketing (portada, contacto, legal) y una página de catálogo que consulta en vivo /productos y /categorias del backend (lectura pública, sin login) y pinta tarjetas de producto en el navegador.

Cómo compra un cliente, en realidad

No hay checkout: cada tarjeta de producto tiene un botón que abre wa.me con un mensaje precargado ("Hola, me interesa: {producto}. ¿Me comparten precio, MOQ y disponibilidad?"). La venta se cierra por WhatsApp con una persona del equipo de Ventas, que luego crea el pedido en la intranet — coherente con que canal=WhatsApp sea una opción real en el modelo de Pedido.

Qué páginas tiene

Portada — presentación del negocio.
Catálogo — tarjetas de producto con precio (o "Desde S/ X" si varía por variante), filtrable por categoría; sin fichas de detalle individuales todavía.
Contacto — con el mismo patrón de WhatsApp flotante en todas las páginas.
Legal — aviso legal, privacidad, cookies (contenido orientativo, ver sección Legal del índice).

Lo que NO existe

Sin carrito de compra, sin proceso de pago, sin cuenta de cliente ni historial de pedidos.
Sin notificaciones por correo (confirmación de compra, envío) — no hay "compra" que confirmar en este sitio.
Sin CDN ni optimización de imágenes más allá de lo que ya sirve el backend de fotos.

Propósito del componente

Dar visibilidad pública al catálogo sin construir un checkout completo — apropiado para un negocio que hoy cierra ventas por WhatsApp/Instagram/presencial, no por pago en línea.

Stack

Astro (páginas estáticas) JS vanilla nginx

Por qué: no hace falta un framework de componentes ni estado del lado cliente cuando no hay carrito ni checkout — Astro genera HTML estático y unas pocas líneas de JS pintan las tarjetas con los datos que trae la API pública.

Los mismos endpoints públicos que usa este sitio están documentados en La API del motor (sección Catálogo, lectura pública).