Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
SALPER · Sistema de gestión de órdenes de producción App para reemplazar el seguimiento en papel de las órdenes de producción de SALPER (sublimación, uniformes escolares, industrial). Cualquiera con acceso al link puede ver en qué etapa va cada orden sin tener que preguntar. Stack: React + Vite (frontend) · Supabase (Postgres + Storage + API + realtime). Sin backend propio: el navegador habla directo con Supabase usando la "anon key" pública, protegida por Row Level Security y funciones RPC (ver supabase/schema.sql, supabase/schema_v2.sql y supabase/schema_v3.sql).README 전문 보기 ↗
App para reemplazar el seguimiento en papel de las órdenes de producción de SALPER (sublimación, uniformes escolares, industrial). Cualquiera con acceso al link puede ver en qué etapa va cada orden sin tener que preguntar.
En vivo: https://salper-ordenes.vercel.app
Stack: React + Vite (frontend) · Supabase (Postgres + Storage + API +
realtime). Sin backend propio: el navegador habla directo con Supabase
usando la "anon key" pública, protegida por Row Level Security y funciones
RPC (ver supabase/schema.sql, supabase/schema_v2.sql y supabase/schema_v3.sql).
Identidad visual: blanco (fondo) → negro (texto) → amarillo (dentro de
botones negros + acentos puntuales) → naranja (pocos detalles). Rojo y
verde quedan reservados exclusivamente como indicadores de estado (orden
atrasada / completada) — nunca decorativos. El logo real de SALPER está
pendiente de integrar (por ahora hay una insignia con el nombre en texto,
ver src/components/layout/Logo.jsx — es el único lugar que hay que tocar
cuando llegue el archivo).
Estados de una orden (fijos, en este orden):
En confirmación → Confirmado → Cortado → Sublimado → En producción → Completado
Estas cosas ya tienen un lugar pensado en el modelo de datos o la estructura de carpetas, pero no tienen UI ni lógica todavía:
| Función | Qué ya existe | Qué falta |
|---|---|---|
| Roles (admin/producción/consulta) | Comentario con tabla profiles sugerida en schema.sql | Login, tabla real, políticas RLS por rol |
| Links compartibles por orden | Columna orders.share_token (uuid único) ya se genera para cada orden | Vista pública de solo lectura filtrando por ese token |
| Notificaciones | Comentario con tabla notifications sugerida en schema.sql | Trigger/servicio que dispare avisos (email, WhatsApp, etc.) |
src/
lib/ # cliente de Supabase, constantes (estados, colores)
services/ # única capa que habla con Supabase (CRUD + RPC + realtime)
hooks/ # useOrders, useOrder, useOrderTypes (fetching + estado)
utils/ # fechas, slugs, helpers de estado — sin dependencias de UI
components/
layout/ # AppLayout (header + nav)
orders/ # tarjetas, badges, filtros, stepper, cambio de estado, historial
calendar/ # ProductionCalendar (vista Gantt semanal)
common/ # loading/error/empty states, pantalla de config faltante
pages/ # una página por ruta (Dashboard, Nueva orden, Detalle, Calendario)
supabase/
schema.sql # esquema base: órdenes, tipos, historial, RLS, realtime
schema_v2.sql # fotos (Storage), anuncios, pendientes
schema_v3.sql # prendas (orders.items) y plantillas de orden
La idea de esta separación: para agregar roles o notificaciones más
adelante, normalmente solo se toca services/ + una tabla nueva en un
schema_v4.sql, y se agrega un componente/página — sin tener que
reescribir el resto.
Necesitas Node.js 18 o superior instalado.
npm install
cp .env.example .env
Llena .env con los datos de tu proyecto de Supabase (Project Settings →
API → Project URL y anon public key).
Luego, en el SQL Editor de tu proyecto de Supabase, pega y corre todo
el contenido de supabase/schema.sql. Esto crea las
tablas, los tipos de orden iniciales (sublimación/escolar/industrial), las
funciones de creación/cambio de estado, las políticas de seguridad y
habilita realtime.
Después, corre también supabase/schema_v2.sql
(agrega el bucket de Storage para fotos, y las tablas de anuncios y
pendientes), y luego supabase/schema_v3.sql
(prendas de la orden y plantillas).
Finalmente:
npm run dev
Abre la URL que te muestre la terminal (normalmente http://localhost:5173).
VITE_SUPABASE_URL y VITE_SUPABASE_ANON_KEY.main vuelve a desplegar solo.El proyecto ya está configurado para esto (base: './' en vite.config.js
HashRouter, así que no necesitas configurar reescritura de URLs):npm run build
npx gh-pages -d dist
(La primera vez, instala la dependencia de despliegue: npm install -D gh-pages.)
Como GitHub Pages sirve sitios estáticos sin variables de entorno en build
time del lado del servidor, las variables VITE_* quedan "quemadas" en el
build que corras localmente — asegúrate de tener tu .env correcto antes
de correr npm run build.
Sin login todavía, las políticas de Supabase dejan la lectura abierta
a quien tenga la anon key (necesario para que cualquiera en el equipo vea
el estado de las órdenes sin credenciales). Las escrituras no tienen
policy directa de INSERT/UPDATE: solo pasan por las funciones
create_order, update_order_status y create_order_type (security definer), que validan los datos antes de tocar las tablas. Cuando se
agregue autenticación y roles, lo que hay que endurecer es:
select using (true) por unas que revisen
auth.uid() / el rol del usuario.anon y
authenticated pueden ejecutar las tres).npm install / npm run dev / npm run build en esta
sesión (el entorno no tenía Node.js) — verifícalo tú antes de confiar
en que compila sin errores.