Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Services, fallas, gastos y vencimientos de cada camión en un solo lugar. El chofer avisa desde el celular, el taller lo resuelve y vos ves cuánto cuesta cada kilómetro.
Translation pending
BusinessGitHub @pcardettiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
mantenimientos de flotas
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Sistema de mantenimiento para flotas de camiones en Argentina, multiempresa: cada flota con sus datos separados, y talleres y recapadoras como proveedores vinculados.
src/: aplicación Next.js con tres apps (Tallerflota, Chofer y Taller) sobre las mismas cuentas.supabase/migrations: esquema de base de datos para Supabase, en orden.supabase/pruebas: pruebas del esquema en un Postgres local.prototipo/flota-al-dia.html: prototipo navegable de las pantallas, con datos de ejemplo.Cada persona entra directo a la suya según su rol, y cada una se instala en el celular con su propio ícono.
| App | Dirección | Para quién | Qué hace |
|---|---|---|---|
| Tallerflota | /empresa/<id>/panel | Dueños, administración, jefe de taller | Tablero de costos (por unidad, por chofer, por mes), viajes, taller, gastos, vencimientos, equipo |
| Tallerflota Chofer | /chofer | Choferes | Escanear el QR de la unidad, chequeo de salida, viaje, combustible y gastos, aviso de fallas con fotos |
| Tallerflota Taller | /taller | Mecánicos | Fallas pendientes, resolver en un paso con fotos y costos, órdenes largas, historial |
Cada unidad tiene un código de 8 caracteres y su QR (ficha de la unidad → Imprimir etiqueta, o
Flota y choferes → Imprimir QR para todas). El QR abre /u/<código>:
Las etiquetas se imprimen desde la versión publicada, para que el QR apunte a internet y no a la PC.
Actividad, en el menú debajo de Equipo (sólo administradores): quién cambió roles, invitó o quitó personas, borró unidades, gastos o documentos, cerró órdenes, descartó fallas o intentó entrar donde su rol no deja, con hora, IP y navegador. Lo anota la base con triggers; nadie lo puede editar ni borrar.
Qué puede hacer cada rol está en una sola tabla, src/lib/permisos.ts. Quien intenta entrar donde su rol
no deja ve qué no puede hacer, qué roles sí pueden y a quién pedírselo.
planes): ahí se cambian los precios y la página de venta se actualiza sola.solicitudes.Las flotas que ya existían antes de la migración 0006 quedaron activas, sin tope ni vencimiento. Para cambiarlas,
editá su fila en suscripciones.
Equipo → Invitar a alguien: se elige el rol y se manda el enlace por WhatsApp, se copia o se muestra como QR. El enlace sirve una sola vez y vence en 7 días.
supabase/migrations (0001, 0002, 0003…). Una migración ya aplicada no se edita: los cambios
van en la siguiente. /api/estado dice si falta alguna.https://flotapp.vercel.app).http://localhost:3000/** y https://<tu-dominio-de-vercel>/**..env.example como .env.local y completá los valores
(Supabase → Project Settings → API).NEXT_PUBLIC_SUPABASE_URL y NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY en
Vercel → Settings → Environment Variables. NEXT_PUBLIC_SITE_URL no hace falta: en Vercel la app
toma su dirección de cada pedido. Si cambiás una variable, volvé a publicar (Redeploy), porque
las NEXT_PUBLIC_* se fijan al compilar.vercel.json fija las funciones en la misma región que la base de Supabase, para que
cada consulta no cruce el continente: São Paulo (gru1 en Vercel, sa-east-1 en Supabase).FLOTAPP_SECRETO_LIMITES (sólo servidor, 32+ caracteres al azar) firma las claves del límite de
intentos de ingreso y registro.localhost),
cargá NEXT_PUBLIC_TURNSTILE_SITE_KEY en Vercel y en .env.local, publicá, y recién después
activalo en Supabase → Authentication → Bot and Abuse Protection con la clave secreta. Al revés, el
ingreso se traba.select valor from secretos where clave = 'pagos'; y copiá ese valor en Vercel
como . Con ese secreto la app anota los pagos sin usar la llave maestra de la base.npm install
npm run dev
npm test
npm run test:db
npm test corre las pruebas de las reglas de carga. npm run test:db levanta un Postgres local y corre
las pruebas de aislamiento, permisos, viajes, taller y tablero del esquema.
npm run demo
Levanta la app con una flota de ejemplo en memoria (unidades, viajes, fallas con fotos, gastos y
vencimientos), sin Supabase ni cuentas: sirve para ver y probar cada pantalla. Lo que se carga dura
mientras corre el servidor. El rol se cambia con la cookie demo_rol (admin, jefe_taller,
mecanico, chofer o lectura). Sólo funciona en desarrollo: una compilación de producción lo ignora.
FLOTAPP_SECRETO_PAGOSMP_ACCESS_TOKEN
(primero el de prueba, después el de producción).https://<tu-dominio>/api/pagos/mercadopago, con los eventos
Planes y suscripciones y Pagos. Copiá la clave secreta en Vercel como MP_WEBHOOK_SECRET.APRO). Los avisos de prueba se mandan con el simulador de Webhooks./api/health responde 200 si la app y la base andan (para monitoreo, sin datos de
configuración). /api/estado, sólo para administradores, muestra qué variables de Supabase existen
(sólo los nombres), si las migraciones están al día y la demora a la base. Nunca devuelve claves.