Sistema de gestión de inventario y catálogo omnicanal con reconocimiento visual, sincronización de WhatsApp y portal público para tiendas de calzado.
- Gestión completa de productos, tallas, almacenes y movimientos de inventario por tienda.
- Generación de catálogos públicos por tienda (
/catalog/[slug]) con carrito y envío directo a WhatsApp. - Reconocimiento visual de productos mediante embeddings y referencia de imágenes.
- Paneles administrativos independientes por tienda con métricas, alertas de stock y automatizaciones.
- Integración con Supabase (auth, storage, funciones) y flujos multi-tenant.
Requisitos previos
- Node.js 20.19.5 (usa
nvm use 20.19.5o descarga esa versión específica).- Herramientas de desarrollo de escritorio de C++ instaladas mediante el instalador de Visual Studio (Build Tools) para compilar dependencias nativas.
npm install -g pnpm
pnpm install
pnpm add jspdf jspdf-autotable
pnpm run dev --webpackSi necesitas usar npm tradicional:
npm instally, si hay conflictos,npm install --legacy-peer-deps.
- Copia
.env.local.example(o el bloque del README) a.env.local. - Rellena las variables de Supabase (
NEXT_PUBLIC_SUPABASE_URL,NEXT_PUBLIC_SUPABASE_ANON_KEY,SUPABASE_SERVICE_ROLE_KEY). - Define el bucket
SUPABASE_PRODUCT_BUCKETy las claves del servicio de embeddings (EMBEDDING_SERVICE_URL,EMBEDDING_SERVICE_TOKEN). - Añade la clave de Google Maps (
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY). - Cada tienda debe configurar su número de WhatsApp desde el panel de administración.
Next.js 16: App Router, RSC y manejo de layouts.
React 18: Componentización y hooks personalizados para estado y servicios.
TypeScript: Tipado estático para mayor robustez y mantenibilidad.
Tailwind CSS + shadcn/ui: Sistema de diseño y componentes accesibles.
Supabase: Postgres multi-tenant, Auth, Storage y funciones administrativas.
Google Cloud Functions: Servicio de embeddings y procesamiento ML.
TensorFlow + MobileNetV2: Pipeline de entrenamiento y reconocimiento visual para generar embeddings, con fine-tuning opcional basado en datasets propios para mejorar el matching.
Python 3 + tooling científico: Scripts offline (
ml/) para preparar datasets, ejecutar fine-tuning y regenerar embeddings antes de sincronizarlos con Supabase.Vercel: Despliegue, edge/runtime y automatización CI/CD.
- Haz fork y crea una rama feature (
git checkout -b feature/nueva-funcionalidad). - Ejecuta
pnpm run lint/pnpm run testantes de abrir un PR. - Describe claramente los cambios y adjunta capturas o pasos de prueba cuando aplique.
Este proyecto está bajo la Business Source License 1.1. El uso no comercial y académico está permitido, pero el uso en producción o comercial requiere una licencia comercial separada hasta la fecha de cambio (2035-01-01), momento en el cual pasará a ser Apache License 2.0.
Consulta el archivo LICENSE para más detalles.
- Jheysmar Armando Fragozo Acosta
- Alam Steven Cortes Martínez
- Amin Jose Pineda Linares
Universidad Popular del César - 2025