Saleor Store
우리 컬렉션을 쇼핑하세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.