尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Pos de venta
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
POS + página de inicio + páginas legales de SmartdeskApps. React 18, Vite, Tailwind y Supabase. Se despliega en Vercel desde main en https://kaserita.smartdeskapps.com. La tienda virtual (KaseritaDelivery) es otro repositorio: Kaserita_Delivery. La lógica de negocio que se puede probar sola (arqueo de caja, combos, descuentos, validaciones, dashboard, turnos, errores) vive en src/lib/ con su *.test.js. La app principal está en src/main.jsx, el panel de superadmin en src/PanelAdmin.jsx.檢視完整 README ↗
POS + página de inicio + páginas legales de SmartdeskApps. React 18, Vite, Tailwind y Supabase. Se despliega en Vercel desde main en https://kaserita.smartdeskapps.com. La tienda virtual (KaseritaDelivery) es otro repositorio: Kaserita_Delivery.
npm install
npm run dev # servidor local
npm test # pruebas (Vitest) de la lógica en src/lib
npm run build # build de producción en dist/
La lógica de negocio que se puede probar sola (arqueo de caja, combos, descuentos, validaciones, dashboard, turnos, errores) vive en src/lib/ con su *.test.js. La app principal está en src/main.jsx, el panel de superadmin en src/PanelAdmin.jsx.
main despliega en Vercel. El comando de build es npm test && npm run build: si una prueba o el build falla, no se despliega y sigue la versión anterior..github/workflows/ci.yml) corre lo mismo en cada push y pull request.PRUEBA_MANUAL.md en la Bodega Demo.Los cambios de base de datos son archivos .sql en la raíz que se ejecutan a mano en el SQL Editor de Supabase. No hay migraciones automáticas. Casi todos son aditivos (crean tablas o funciones).
| Archivo | Para qué |
|---|---|
schema.sql, rls_*.sql, seguridad_*.sql | Esquema base y políticas de seguridad por negocio |
errores_app.sql | Registro de errores de la app (ver abajo) |
indices_llaves_foraneas.sql | Índices en llaves foráneas (aviso del asesor de rendimiento de Supabase). Aplicado el 2026-10-27 |
probar_aislamiento_entre_negocios.sql | Prueba (con ROLLBACK) de que un dueño no ve datos de otro negocio. Requiere dos negocios de prueba reales |
revocar_privilegios_anon.sql | Opcional: quita permisos de tabla al rol anon (segunda capa de seguridad) |
Los errores no controlados del navegador (y las pantallas que se rompen al dibujarse) se guardan en la tabla errores_app y se ven en el panel de superadmin → pestaña Errores, agrupados con su conteo. También llegan ahí los fallos que la app le muestra a la persona (abrir turno, cobrar, registrar pagos, sincronizar ventas sin conexión): el lugar va entre corchetes al inicio, por ejemplo [abrir turno] 42501 …. Se ignoran los errores por falta de internet y por sesión vencida, y no se reportan más de 10 por sesión. No hay servicios externos. No se guardan correos, números largos ni IP. Para activarlo, ejecutar errores_app.sql una vez. Revisar la pestaña después de cada despliegue y cuando un cliente reporte un problema.
| Qué falla | Cómo revertir |
|---|---|
| Un commit rompió algo | git revert <commit> y git push. Vercel vuelve a desplegar solo (~2 min) |
| Un despliegue salió mal | Vercel → Deployments → el anterior → Promote to Production (~1 min) |
| Build o pruebas fallan | No hace falta nada: Vercel conserva la versión anterior |
revocar_privilegios_anon.sql rompió un flujo | grant select, insert, update, delete on public.<tabla> to anon; en la tabla afectada |
| Otro SQL ya ejecutado | No tiene rollback automático: usar el backup de Supabase |
Señal para revertir primero y diagnosticar después: /registro o el login del POS falla, o las ventas no se guardan.