Myno es un ecommerce B2B desarrollado con Next.js 15 que vende packs mayoristas a minimarkets y tiendas de barrio.
Su diferencial es un motor de recomendación que:
- Personaliza la portada (“Porque compraste X”, “Otros usuarios también compraron”, “Productos más vendidos”).
- Sugiere artículos relacionados en la vista de producto y dentro del carrito.
- Aprende de cada compra y actualiza el ranking global en tiempo real.
Los datos persistentes (historial de compras + contador de ventas) se almacenan en Upstash Redis KV; el resto vive como JSON estático o en LocalStorage.
| Módulo | ¿Qué hace? |
|---|---|
| Carrito | CRUD completo (añadir, actualizar cantidad, eliminar, vaciar) con persistencia local. |
| Recomendaciones | Algoritmo por tags + co-compra + popularidad global; secciones dinámicas en Home, Product Page y Cart. |
| Historial de compras | Consulta, filtrado por fecha/estado, modal de detalle y eliminación de órdenes (Redis). |
| Autenticación simulada | Login por correo (sin contraseña), sesión guardada en LocalStorage, rutas protegidas. |
| Búsqueda filtrada | Filtros por categoría y ordenamiento con skeletons de carga. |
| Capa | Stack |
|---|---|
| Frontend | Next.js 15 (App Router) · React 18 · TypeScript |
| Estado | TanStack Query (datos remotos) · Zustand (estado global/localStorage) |
| Estilos | Tailwind CSS + Shadcn/ui |
| Backend ligero | Upstash Redis KV (historiales & sales count) |
| Bundler / runtime | Bun |
- Clona este repositorio:
git clone https://github.com/vcntttt/myno.git
- Entra en la carpeta del proyecto e instala las dependencias:
cd myno bun install - Ejecuta el servidor de desarrollo:
bun run dev
- Abre tu navegador en
http://localhost:3000para ver la aplicación.
Para facilitar la demostración del motor de recomendaciones y el historial, tenemos dos usuarios preconfigurados con datos semilla en Redis:
-
vrivera.dev@gmail.com
Historial orientado a perfumes y licores (Givenchy, Dior Sauvage, Vino Tinto, etc.). -
vrivera2023@alu.uct.cl
Historial centrado en frutas y verduras (manzanas, peras, plátanos, lechugas, etc.).
Inicia sesión con cualquiera de estos correos para ver cómo cambia la portada y el historial.
- Repositorio: https://github.com/vcntttt/myno
- Demo en Vercel: https://myno-vr.vercel.app/