Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Controle de quilometragem, viagens, manutenção e pneus da frota
Translation pending
BusinessTypeScript · PLpgSQLGitHub @lucassouto2708-ship-itOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Aplicativo web (PWA, funciona no celular e pode ser instalado na tela inicial) para controlar a frota:
O sistema é multiempresa: cada cliente (empresa ou município) é uma organização, com os próprios veículos, usuários, parâmetros e histórico, totalmente separados dos demais (a placa só precisa ser única dentro da organização). Quem vende o sistema é o ADM; dentro de cada cliente há gestores e motoristas.
| Motorista | Gestor (da organização) | ADM (dono do sistema) | |
|---|---|---|---|
| Iniciar e finalizar viagem com fotos e GPS | ✅ só nos carros vinculados a ele | ✅ | ✅ |
| Ver avisos de óleo/revisão dos carros dele | ✅ (só leitura) | ✅ | ✅ |
| Cadastrar carro | ❌ | ✅ | ✅ |
| Registrar manutenção (óleo, revisão…) e ver histórico | ❌ | ✅ | ✅ |
| Medir pneus | ❌ | ✅ | ✅ |
| Painel da frota, viagens, fotos e rota de todos | ❌ | ✅ da organização | ✅ de todas |
| Parâmetros de manutenção (padrão e por carro) | ❌ | ✅ da organização | ✅ de todas |
| Vincular motoristas a carros | ❌ | ✅ | ✅ |
| Convidar pessoas, promover a gestor, desativar acesso | ❌ | ✅ da organização | ✅ |
| Cadastrar/suspender organizações | ❌ | ❌ | ✅ |
As permissões são garantidas no próprio banco (Row Level Security do Supabase), não só na tela. Organização suspensa ou usuário desativado perde o acesso na hora.
Como entra cada pessoa: o gestor (ou o ADM) gera um convite em Usuários e envia o link (/convite?c=CÓDIGO). A pessoa cria a conta, o convite a coloca na organização com o papel escolhido. Convites vencem em 7 dias (ajustável), valem uma vez e podem ser revogados.
Next.js 16 (App Router) · React 19 · Tailwind CSS 4 · Supabase (Postgres, Auth e Storage) · Tesseract.js
supabase/banco.sql. No GitHub, use o botão Copy raw file (ícone de copiar, no canto superior direito do arquivo).Se der algum erro, pode rodar o arquivo de novo: ele não apaga nada.
Atualizações do app: quando o
banco.sqlmudar, basta rodá-lo de novo do mesmo jeito. Ele adiciona o que falta e mantém os dados.
No Supabase, vá em Project Settings → API e copie a Project URL e a chave anon public. Crie um arquivo .env.local (copie o .env.example) e preencha:
NEXT_PUBLIC_SUPABASE_URL=cole-aqui-a-project-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=cole-aqui-a-anon-key
Rode o app (npm install e depois npm run dev), abra http://localhost:3000 e clique em Cadastre-se.
A primeira conta criada vira ADM automaticamente. Depois, em Organizações, cadastre cada cliente e gere o convite do primeiro gestor dele; o gestor convida os próprios motoristas. Quem se cadastra sem convite fica na tela de código até ser convidado.
Atualizando um banco já em uso: rode o supabase/banco.sql de novo. Os dados existentes são mantidos e vão para uma organização chamada Frota própria (renomeie em Organizações); os usuários que eram comuns viram motoristas e o ADM promove quem for gestor.
Por padrão o Supabase pede confirmação por e-mail. Para testar mais rápido, desligue em Authentication → Sign In / Providers → Email → Confirm email.
Importe o repositório na Vercel, cadastre as duas variáveis NEXT_PUBLIC_SUPABASE_* e publique. Em Authentication → URL Configuration do Supabase, coloque a URL da Vercel como Site URL.
supabase/banco.sql banco completo: copiar e colar no SQL Editor
src/proxy.ts exige login em todas as páginas (exceto /login)
src/lib/ocr.ts leitura dos números nas fotos (Tesseract.js)
src/lib/regras.ts regras de óleo, revisão e pneus (TWI)
src/components/FotoNumero.tsx foto + leitura automática + campo para conferir
src/app/(app)/ telas de todos os usuários (o que aparece depende do papel)
src/app/(app)/admin/ painel do gestor/ADM, usuários, parâmetros e organizações