Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Sistema de gestión para taller de inyección diesel: cotizaciones, órdenes de trabajo, inventario con control de stock, listas de precios de compra y venta, y un portal público donde el cliente sigue el avance de su reparación. React + Vite + TypeScript sobre Supabase (Postgres + Auth). La cotización no mueve stock: es una propuesta. El stock se descuenta recién al convertirla en orden, y todo ocurre en una transacción — si no alcanza el stock, no se crea la orden. • admin: acceso completo. • operario: consulta el estado de las órdenes; no puede modificar nada.README 전문 보기 ↗
Sistema de gestión para taller de inyección diesel: cotizaciones, órdenes de trabajo, inventario con control de stock, listas de precios de compra y venta, y un portal público donde el cliente sigue el avance de su reparación.
React + Vite + TypeScript sobre Supabase (Postgres + Auth).
Cotización ──aceptada──▶ Orden de trabajo ──▶ Portal del cliente
(Emitida → (Autorizada → Esp. Repuestos →
Enviada → En Reparación → Calibración →
Aceptada / Terminado)
Rechazada)
La cotización no mueve stock: es una propuesta. El stock se descuenta recién al convertirla en orden, y todo ocurre en una transacción — si no alcanza el stock, no se crea la orden.
| Módulo | Qué hace |
|---|---|
| Cotizaciones | Presupuesto previo, con validez, duplicado y conversión a OT |
| Órdenes de trabajo | Renglones, avance de estado con historial, totales con IVA |
| Inventario | Artículos con control de stock opcional y utilidad por artículo |
| Listas de precios | Importación de listas de compra por Excel, con vinculación de códigos |
| Clientes / Proveedores | Padrones con datos fiscales argentinos (CUIT validado, condición IVA) |
| Vehículos | Ficha técnica: motor, sistema de inyección, kilometraje u horas |
| Portal del cliente | Público, sin login: estado de la reparación con fechas reales |
Las restricciones se aplican en la base con Row Level Security, no solo en la interfaz: un operario no puede escribir aunque manipule el navegador.
Requisitos: Node.js 20+ y un proyecto de Supabase.
npm install
cp .env.example .env # completá con las credenciales de tu proyecto
npm run dev
La app queda en http://localhost:4000.
Sobre una base vacía, ejecutar en el SQL Editor de Supabase en este orden:
supabase/schema.sql
supabase/auth.sql
supabase/articles.sql
supabase/quotations.sql
supabase/price-lists.sql
supabase/price-lists-functions.sql
supabase/work-order-status.sql
Después, crear el usuario administrador desde Authentication → Users y promoverlo:
update profiles set role = 'admin' where email = '[email protected]';
Los usuarios nuevos quedan como operario por defecto.
La misma app corre como APK usando Capacitor: no es un desarrollo aparte, es este mismo código empaquetado. La lógica, los datos y el estilo son idénticos; lo único que cambia es el layout por debajo de 768px de ancho.
npm run android:build # compila la web, sincroniza y genera el APK
El APK queda en android/app/build/outputs/apk/debug/app-debug.apk.
Se instala pasándolo al teléfono o con adb install -r <ruta>.
Otros comandos:
npm run android:sync # solo actualiza el contenido web dentro del proyecto Android
npm run android:open # abre el proyecto en Android Studio
android/gradle.properties apunta al JDK que trae Android Studio:
org.gradle.java.home=C:\\Program Files\\Android\\Android Studio\\jbr
Esa ruta es de esta máquina. Si compilás en otra, ajustala o borrá la línea y
dejá JAVA_HOME apuntando a un Java 21.
| Web (escritorio) | Android / pantalla angosta | |
|---|---|---|
| Tablas | Tabla con encabezado | Cada fila es una ficha con sus rótulos |
| Menú | Fijo a la izquierda | Panel deslizable desde el botón de menú |
| Formularios | Varias columnas | Una columna |
| Rutas | /cotizaciones | #/cotizaciones (no hay servidor que resuelva rutas) |
| Barra de estado | — | Se respeta su alto para no tapar contenido |
| Botón físico atrás | — | Navega hacia atrás; sale solo al llegar al inicio |
El aspecto —colores, tipografías, la regla amarilla, las tiras de estado— es el mismo en los dos.