ArmandoComidas

CompletadoDemo
Ver portfolio
ArmandoComidas

Aplicación web de pedidos de comida para restaurantes. Los clientes exploran el menú con imágenes y precios, arman su carrito y pagan con MercadoPago (Checkout Pro), con validación de stock en tiempo real y vencimiento automático del pedido a los 50 minutos si no se completa el pago. El administrador gestiona platos, ingredientes con cantidades y pedidos desde un panel dedicado. Incluye un bot de WhatsApp con agente IA (n8n) que muestra el menú, toma pedidos y genera links de pago directamente desde el chat. Interfaz bilingüe en español e inglés.

Capturas de pantalla

Login — acceso seguro con autenticación JWT para clientes y administradores
Login — acceso seguro con autenticación JWT para clientes y administradores
Registro — creación de cuenta con datos del cliente
Registro — creación de cuenta con datos del cliente
Menú — catálogo de platos con imágenes, precios y disponibilidad en tiempo real
Menú — catálogo de platos con imágenes, precios y disponibilidad en tiempo real
Carrito — productos seleccionados con validación de stock y resumen del pedido
Carrito — productos seleccionados con validación de stock y resumen del pedido
Checkout — confirmación del pedido y redirección a MercadoPago
Checkout — confirmación del pedido y redirección a MercadoPago
Historial de pedidos — estado actualizado con link al comprobante de pago
Historial de pedidos — estado actualizado con link al comprobante de pago
Admin — lista de platos con nombre, precio, estado activo y acciones
Admin — lista de platos con nombre, precio, estado activo y acciones
Admin — edición de plato con asignación de ingredientes y cantidades
Admin — edición de plato con asignación de ingredientes y cantidades
Admin — gestión de ingredientes con stock y unidades de medida
Admin — gestión de ingredientes con stock y unidades de medida
Admin — formulario para agregar un nuevo ingrediente al sistema
Admin — formulario para agregar un nuevo ingrediente al sistema
Admin — panel de pedidos con estado, cliente y opciones de confirmación o cancelación
Admin — panel de pedidos con estado, cliente y opciones de confirmación o cancelación
Workflow n8n — diagrama completo del flujo conversacional del bot de WhatsApp
Workflow n8n — diagrama completo del flujo conversacional del bot de WhatsApp
Bot en acción — el agente IA muestra el menú disponible en WhatsApp
Bot en acción — el agente IA muestra el menú disponible en WhatsApp
Bot — el cliente selecciona platos y el bot arma el pedido en el chat
Bot — el cliente selecciona platos y el bot arma el pedido en el chat
Bot — confirmación del pedido y link de pago de MercadoPago generado desde el chat
Bot — confirmación del pedido y link de pago de MercadoPago generado desde el chat
Bot — cancelación de pedido activo desde WhatsApp con restauración automática de stock
Bot — cancelación de pedido activo desde WhatsApp con restauración automática de stock

¿Cómo funciona?

1. Exploración del menú y carrito persistente

El cliente se registra o inicia sesión con JWT y navega el menú con filtros por categoría. Al agregar un plato, el sistema valida en tiempo real que haya stock suficiente para cada ingrediente. El carrito se guarda en la base de datos, no en localStorage, por lo que persiste si el cliente cierra el navegador o cambia de dispositivo.

2. Pago con MercadoPago y vencimiento automático

Al confirmar el pedido, el backend reserva el stock de todos los ingredientes involucrados, genera una preferencia de pago en MercadoPago y redirige al cliente al Checkout Pro. El pedido queda en estado PENDING con un timer de 50 minutos: si el pago no se confirma en ese tiempo, el sistema cancela el pedido y devuelve el stock automáticamente. Cuando MercadoPago confirma el pago mediante webhook, el pedido pasa a CONFIRMED y el stock se descuenta definitivamente.

3. Panel de administración

El administrador gestiona el restaurante desde un panel protegido con JWT. Puede crear, editar y eliminar platos con imágenes subidas a Cloudinary. A cada plato le asigna ingredientes con sus cantidades en gramos o unidades. El sistema usa esas relaciones para calcular el stock disponible por plato: si un ingrediente baja de cero, ese plato queda automáticamente sin stock. También puede confirmar o cancelar pedidos manualmente.

4. Bot de WhatsApp con agente IA

El bot corre en n8n y se conecta con la API del backend vía HTTP. El agente IA entiende mensajes en lenguaje natural, muestra el menú organizado por categorías, guía al cliente para armar su pedido y genera el link de pago de MercadoPago al final. El cliente puede también cancelar su pedido activo desde el chat. El estado de la conversación se mantiene por número de teléfono para que el flujo sea coherente entre mensajes.

Funcionalidades

Tecnologías

Next.jsSpring BootPostgreSQLTailwindDockerGitHub
Ver en GitHub¿Tenés un proyecto? HablemosContactame