Ejemplo de sistema de pedidos de pizza con tracking en tiempo real utilizando Relay Gateway.
Este ejemplo funcional demuestra cómo construir un sistema de pedidos de pizza con tracking en tiempo real, sincronizando estados entre múltiples vistas (cliente y cocina). Este ejemplo muestra:
- 🍕 Vista Cliente - Selecciona pizzas del menú y realiza pedidos
- 👨🍳 Vista Cocina - Gestiona los pedidos y actualiza estados
- ⚡ Tracking en tiempo real - Observa el progreso de tu pedido en tiempo real
- 📊 Estados del pedido:
- 📝 Recibido - Pedido registrado
- 👨🍳 Preparando - En la cocina
- 🔥 Horneando - En el horno
- ✅ Listo - Esperando repartidor
- 🛵 En Camino - El repartidor va hacia ti
- 🎉 Entregado - ¡Buen provecho!
Este ejemplo pertenece a la colección de ejemplos de Relay Gateway, un gateway de comunicación en tiempo real diseñado para ser inmutable y agnóstico.
- Un navegador web moderno
- Relay Gateway ejecutándose (ver documentación de Relay)
# Clonar el repositorio
git clone https://github.com/Coderic/pizza-delivery.git
cd pizza-deliveryNo se requiere instalación de dependencias, este ejemplo usa CDN para las librerías.
Abre index.html en tu navegador o sirve los archivos con un servidor HTTP simple:
# Con Python
python3 -m http.server 8000
# Con Node.js (http-server)
npx http-server -p 8000
# Con PHP
php -S localhost:8000El ejemplo se conecta automáticamente a http://demo.relay.coderic.net (endpoint público de Relay para pruebas).
Para usar Relay localmente, modifica el archivo conector.js:
const relay = new RelayConector('http://localhost:5000');Y ejecuta Relay:
# Opción 1: Con npx (recomendado para pruebas)
npx @coderic/relay
# Opción 2: Con Docker Compose
docker compose up -d- Abrir dos pestañas del navegador:
- Pestaña 1: Vista Cliente (🛒 Cliente)
- Pestaña 2: Vista Cocina (👨🍳 Cocina)
- En la vista Cliente: Selecciona una pizza del menú y realiza un pedido
- En la vista Cocina: Observa cómo aparece el nuevo pedido y actualiza su estado
- En la vista Cliente: Observa cómo el tracking se actualiza en tiempo real según la cocina cambia el estado
- HTML5 - Estructura de la aplicación
- JavaScript (ES6+) - Lógica de la aplicación
- Socket.io - Comunicación WebSocket (via CDN)
- Relay Gateway - Gateway de comunicación en tiempo real
- RelayConector - Cliente JavaScript para conectar con Relay
MIT