Your online store, and everything behind it.
AI translation
Tu tienda online, y todo lo que hay detrás.
CommerceTypeScript · JavaScriptGitHub @AlexRomanROnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The MVP of Venduo: an online store built with Next.js 15, Supabase, and IA.
AI translation
MVP de Venduo: tienda online con Next.js 15, Supabase e IA.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Scaffold de tienda online: toda la infraestructura montada (Supabase, capa de IA intercambiable, QR, validación con zod) y solo el login como vista. Frontend y backend en un solo repositorio. Abrí. Funciona sin configurar nada. Sin credenciales el proyecto corre en _modo demo_: el middleware deja pasar y la capa de IA usa un proveedor simulado que genera respuestas válidas contra los mismos esquemas zod. Sirve para levantar el proyecto antes de conectar servicios. Para preparar el archivo de entorno de una:Read the full README ↗
Venduo es una plataforma que genera tiendas online para emprendedores que venden por TikTok, Instagram, Facebook y WhatsApp. Quien vende por redes no necesita "una página web": necesita dejar de responder "¿precio?" varias veces al día, no vender lo que ya no tiene y dejar de perder pedidos entre mensajes.
Con Venduo, el emprendedor:
Proyecto nacido en una hackathon de 48 horas, pensado para Bolivia.
| Módulo | Qué hace |
|---|---|
| 🛍️ Generador de tiendas | Alta en tres pasos: plantilla, datos del negocio y tienda publicada con URL propia (/t/{slug}) y QR |
| 🎨 Editor visual con IA | Seis pasos con vista previa real: marca, portada, catálogo, ficha de producto, carrito y publicar. Arrastrar secciones, deshacer, versiones |
| 🤖 La IA edita por bloques | Se le pide en palabras ("ponla en tonos de verano") y devuelve operaciones que el sistema valida antes de mostrarlas |
| 📦 Productos y stock | Fotos, stock con umbral de aviso, categorías, precio anterior para descuentos y productos destacados |
| 🧾 Pedidos por WhatsApp | El carrito se manda al WhatsApp de la tienda con su número y su total; en el panel se marca pagado y el stock baja solo |
| 📊 Estadísticas en lenguaje natural | "¿Qué producto se vende más este mes?" → la IA arma la consulta y la respuesta llega como gráfico, con informe descargable en PDF |
| 📄 Catálogos en PDF | Doce plantillas, packs y ofertas, con los colores de la tienda. Se descargan, se comparten por enlace o se siguen editando en Canva |
| Capa | Tecnología |
|---|---|
| Lenguajes | TypeScript (TSX), SQL / PL/pgSQL, CSS |
| Framework | Next.js 15 con App Router, React 19 y Server Components / Server Actions |
| Base de datos | Supabase: PostgreSQL con Row Level Security, funciones y disparadores |
| Autenticación | Supabase Auth (correo y contraseña) |
| Archivos | Supabase Storage (fotos de productos, imágenes de la tienda) |
| Estilos | Tailwind CSS v4 y componentes de shadcn/ui sobre Radix |
| Inteligencia artificial | Capa propia con proveedor intercambiable: Anthropic Claude, Google Gemini, cualquier API compatible con OpenAI, o un modo simulado |
| Validación | zod en todos los límites: formularios, entorno y respuestas de la IA |
| Formularios | react-hook-form |
| @react-pdf/renderer y sharp, generados en el servidor | |
| Arrastrar y soltar | @dnd-kit (funciona con el dedo y el teclado) |
| Gráficos | SVG dibujado a mano, sin biblioteca |
| Otros | qrcode, sonner (avisos), lucide-react (íconos), date-fns |
| Hosting y CI | Vercel (región São Paulo) y GitHub Actions |
Comprador ─▶ /t/{slug} ─┬─▶ Next.js (Server Components) ─▶ Supabase (PostgreSQL + RLS)
Emprendedor ─▶ /panel ──┘ │
▲ └─▶ Capa de IA ─▶ Claude · Gemini · OpenAI · mock
└──────── el pedido llega por WhatsApp ◀── carrito del comprador
Algunas decisiones que vale la pena conocer:
store_id y
Postgres impone el aislamiento: una tienda por emprendedor, y ninguna ve los datos de
otra.create_order) que recalcula los precios y comprueba el stock; el mensaje de WhatsApp
se arma con lo que ella devuelve.app/ Rutas de Next.js
page.tsx Portada pública
t/[slug]/ Tienda pública: portada, catálogo, producto y carrito
crear/ Alta de la tienda (el generador), con su WhatsApp
editor/ Editor visual de la tienda, a pantalla completa
(privado)/panel/ Panel del emprendedor: productos, pedidos, estadísticas,
apariencia y catálogos
c/[token]/ Catálogo en PDF compartido por enlace
components/ Componentes de React por área (tienda, editor, panel, catálogos…)
plantillas/ Un kit de componentes por plantilla de tienda
ui/ shadcn/ui
lib/ Lógica sin interfaz
ai/ Capa de IA: proveedores, tareas y esquemas
supabase/ Clientes de navegador, servidor y administración
data/ Consultas de lectura
plantillas/ Tokens, bloques y operaciones del editor
catalogos/ Modelo y generación de los catálogos en PDF
insights/ Estadísticas en lenguaje natural
supabase/migrations/ Esquema SQL: tablas, políticas RLS, funciones y disparadores
types/ Tipos generados de la base y alias
docs/ Documentación técnica
Requiere Node.js 20.9 o superior.
npm install
npm run dev
Y abre http://localhost:3000.
Funciona sin configurar nada. Sin credenciales el proyecto arranca en modo demo: datos de ejemplo y una IA simulada que responde con el mismo formato que la real.
Para conectar los servicios reales:
npm run setup # crea .env.local desde .env.example y dice qué falta
npx supabase link --project-ref <ref> y npm run db:push.AI_PROVIDER (anthropic, google, openai-compatible o mock),
AI_MODEL y AI_API_KEY. Cambiar de proveedor es cambiar el entorno, no el código.| Comando | Qué hace |
|---|---|
npm run dev | Servidor de desarrollo con Turbopack |
npm run build | Build de producción |
npm start | Sirve el build |
npm run check | Tipos, lint y formato en secuencia (lo mismo que CI) |
npm run format | Formatea con Prettier |
npm run db:push | Aplica las migraciones a Supabase |
npm run db:types | Regenera los tipos de la base |
npm run marca | Regenera los archivos del logo |
| Funcionalidad | Estado |
|---|---|
| Registro e ingreso | ✅ |
| Generación de la tienda desde una plantilla del rubro | ✅ |
| Editor visual de la tienda asistido por IA | ✅ |
| Tienda pública con URL propia, navegable en el celular | ✅ |
| Productos con fotos, stock, categorías y ofertas | ✅ |
| Carrito que manda el pedido por WhatsApp, sin datos | ✅ |
| Pedidos en el panel, con stock que baja al pagar | ✅ |
| Estadísticas en lenguaje natural con informe en PDF | ✅ |
| Catálogos en PDF con doce plantillas y Canva | ✅ |
| Copys de marketing con IA y publicación en redes | ❌ |
✅ hecho · ❌ pendiente. El detalle está en
docs/estado-del-proyecto.md.
| Archivo | Qué contiene |
|---|---|
VENDUO.md | La especificación del producto: problema, modelo y datos |
DESIGN.md | El sistema visual de Venduo |
docs/estado-del-proyecto.md | Qué está hecho y qué falta |
docs/store-templates.md | Cómo funcionan las plantillas de tienda |
docs/catalogos-pdf.md | Cómo se arman los catálogos en PDF |
CLAUDE.md y AGENTS.md | Reglas del proyecto para agentes de código |