Bot conversor Jogo Barato
Use the Telegram bot to forward an offer and convert it
AI summary · website content
Demo interactiva de ZaHub: app para clientes y panel de administración de una pizzería.
Translation pending
CommerceJavaScript · TypeScriptGitHub @Cabrales16OnlineOwner 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
ZaHub: sistema para pizzerías con app de clientes (Expo/React Native) y panel de administración (React + Vite). Pedidos, menú, personalización de pizzas y seguimiento de estados. Demo interactiva sin backend.
Translation pending
Loading the full README.
Read the full README ↗El algoritmo del antojo perfecto — sistema para una pizzería: app para clientes y panel de administración.
| App cliente | Panel admin |
|---|---|
ZaHub nació como dos proyectos separados (ZaHub-Cliente y ZaHub-Admin) que comparten el mismo backend en Supabase. Aquí viven juntos:
| Módulo | Para quién | Tecnología | Funciones |
|---|---|---|---|
cliente/ | Clientes | Expo + React Native + NativeWind (iOS, Android y web) | Promociones, menú, Crea tu Za (tamaño, masa, borde e ingredientes), carrito, confirmación de pedido y seguimiento de pedidos |
admin/ | Equipo (admin, cajero, cocina) | React 19 + Vite + Tailwind 4 | Dashboard, pedidos con cambio de estado e historial, catálogo de pizzas, ingredientes, usuarios y roles, tema claro/oscuro |
👉 https://cabrales16.github.io/ZaHub/
No necesita backend: los datos viven en tu navegador y puedes restaurarlos con «Restaurar datos». Las dos apps comparten los mismos datos, así que puedes ver el ciclo completo:
PENDIENTE. Pásalo a HORNEANDO, EN_CAMINO… y revisa su historial.| Perfil | Correo | Contraseña |
|---|---|---|
| 📱 Cliente | [email protected] | demo1234 |
| 🧑🍳 Administrador | [email protected] | demo1234 |
| 💵 Cajero | [email protected] | demo1234 |
| 🔥 Cocina | [email protected] | demo1234 |
Cada pantalla de inicio de sesión tiene botones de acceso rápido. También puedes registrarte como cliente con tu propio correo.
| Inicio | Menú | Detalle |
|---|---|---|
| Crea tu Za | Carrito | Mis pedidos |
| Pedidos (admin) | Detalle de pedido |
|---|---|
| Pizzas | Usuarios |
ZaHub/
├── admin/ # Panel web (Vite + React + Tailwind)
├── cliente/ # App móvil/web (Expo Router + NativeWind)
├── shared/mock/ # Backend simulado compartido por las dos apps (demo)
├── landing/ # Página de entrada de la demo
├── docs/ # Capturas
└── .github/workflows/deploy-demo.yml
Las dos apps hablan con Supabase a través de supabase-js. En modo demo ese cliente se sustituye por shared/mock/mockSupabase.js, que implementa el subconjunto de la API que usan (consultas con filtros, orden y relaciones anidadas, inserciones, actualizaciones, borrados y autenticación) sobre localStorage.
VITE_DEMO_MODE=true (admin) o EXPO_PUBLIC_DEMO_MODE=true (cliente); sin esas variables se usa Supabase como siempre.zahub-demo-db-v1) pero cada una guarda su propia sesión.productos) se deriva de pizzas_base: lo que se edita en el panel se refleja al instante en la app.HashRouter (#/admin/...) y la app cliente se exporta como sitio estático, para que funcione en GitHub Pages sin redirecciones.Requisitos: Node.js 20+.
# Panel admin
cd admin
npm install
npm run dev:demo # demo sin backend → http://localhost:5173/ZaHub/admin/
npm run dev # contra Supabase (necesita .env)
# App cliente
cd cliente
npm install
npm run web:demo # demo sin backend, en el navegador
npm start # contra Supabase (Expo Go / emulador)
Para que admin y cliente compartan datos en local deben servirse desde el mismo origen (como en Pages). En desarrollo cada servidor usa un puerto distinto, así que cada app tendrá su propia copia de los datos.
admin/.env.example a admin/.env y cliente/.env.example a cliente/.env, con la URL y la anon key de tu proyecto.usuarios_app, pizzas_base, ingredientes, promociones, productos, carrito_items, carrito_item_ingredientes, pedidos, pedido_items, pedido_item_ingredientes e historial_estado_pedido.El workflow deploy-demo.yml compila las dos apps en modo demo, arma el sitio (landing/ + admin/ + cliente/) y lo publica con el pipeline de Jekyll de GitHub Pages en cada push a main.
main (o lanza el workflow desde Actions).Las rutas base (
/ZaHub/admin/y/ZaHub/cliente/) asumen que el repositorio se llamaZaHub; si usas otro nombre cámbialas enadmin/vite.config.jsycliente/scripts/demo.js. Jekyll ignora las carpetas que empiezan por_;landing/_config.ymlincluye_expo/, donde Expo deja su JavaScript.
Seguridad
usuarios_app no se podía cargar, el panel asumía rol ADMIN: ahora no concede acceso. Además bloquea a los usuarios desactivados..env del cliente estaba versionado: ahora se leen de variables de entorno (hay .env.example) y .env está en .gitignore.Errores corregidos
console.log): ahora crea la línea de carrito (o suma la cantidad)./(tabs)/orders, una pantalla que no existía: se creó «Mis pedidos» con el estado de cada pedido.Alert.alert no funciona en web, así que los avisos y la confirmación del pedido nunca aparecían: se añadió un reemplazo que usa confirm/alert en web y el Alert nativo en móvil.App.jsx (una plantilla sin usar) y se dejó el lint sin errores.productos y el panel editaba pizzas_base; en la demo ambos están conectados.Proyecto con fines educativos.