Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Gerenciar locação de veículos, lançamentos e taxas financeiras
Translation pending
AI summary · website and README
BusinessHTML · JavaScriptGitHub @capimglauOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
Sistema de gestão de locação de veículos (controle de lançamentos, baixas, proprietários, resumos e premissas de taxas). App web de página única, com os dados persistidos no Supabase e publicado no GitHub Pages. Na aba Premissas, as taxas do cartão são uma matriz bandeira × transação — cada bandeira cobra uma taxa diferente em cada tipo de transação, e cada tipo tem seu prazo de recebimento:Read the full README ↗
Sistema de gestão de locação de veículos (controle de lançamentos, baixas, proprietários, resumos e premissas de taxas). App web de página única, com os dados persistidos no Supabase e publicado no GitHub Pages.
Na aba Premissas, as taxas do cartão são uma matriz bandeira × transação — cada bandeira cobra uma taxa diferente em cada tipo de transação, e cada tipo tem seu prazo de recebimento:
| Transação | Mastercard | Visa | Elo | Amex | Prazo |
|---|---|---|---|---|---|
| Débito | 1,08 % | 1,08 % | 1,88 % | não aceita | 1 dia útil |
| Crédito à vista | 2,14 % | 2,14 % | 2,94 % | 2,94 % | 31 dias |
| 2 vezes | 2,62 % | 2,62 % | 3,42 % | 3,42 % | 31 dias a cada parcela |
| 3 vezes | 2,62 % | 2,62 % | 3,42 % | 3,42 % | 31 dias a cada parcela |
Por isso o lançamento pergunta a bandeira junto da forma de pagamento
(só quando é cartão) e a grava junto dela — ex.: Crédito 2x Visa. É dela que
saem o valor líquido e a previsão de pagamento. Lançamento antigo, sem bandeira
escrita, é calculado pela bandeira padrão configurada nas Premissas. As
premissas editadas ficam salvas no aparelho (localStorage).
Na aba Proprietários, ao clicar em um dono abre-se o extrato financeiro:
receitas previstas do mês (automáticas, a partir dos lançamentos) e despesas
operacionais lado a lado — com seletor de categorias (lavagem, óleo, pneus,
manutenção, etc., e "Outros" com texto livre) — além de um gráfico comparativo
mês a mês de receitas × despesas. As despesas ficam na tabela despesas do
Supabase (ou em localStorage, no modo demo / sem a tabela criada).
| Camada | Tecnologia |
|---|---|
| Front-end | index.html (HTML/CSS/JS puro + Chart.js) |
| Banco | Supabase (Postgres) — tabela lancamentos |
| Deploy | GitHub Pages (workflow em .github/workflows) |
| IA (opc.) | Edge Function supabase/functions/ai-contrato |
Sem configurar o Supabase, o app abre em modo demo (dados de exemplo
embutidos, em memória, sem salvar). Configurando o config.js, ele passa a
ler e gravar de verdade.
supabase/setup.sql
e clique em Run. É um script único: cria as 4 tabelas com as políticas,
carrega a frota (185 veículos) e os 753 lançamentos da planilha.Os scripts avulsos (
schema.sql,seed.sql,veiculos.sql,boleto_feito.sql,lanc_num.sql) continuam no repositório para rodar uma parte de cada vez. Osetup.sqlé a soma deles, na ordem certa.Em banco já em uso, rode
supabase/lanc_num.sqluma vez: é a coluna do número do lançamento principal, que liga as parcelas do cartão entre si. Sem ela o app continua funcionando (agrupa pelo texto "Parcela X/N" do obs), só não numera os lançamentos.Cuidado: a PARTE 5 do
setup.sqlcomeça comtruncatenos lançamentos. Em banco novo é o desejado; em banco já em uso, pule essa parte.O que a planilha vira no banco (normalizações de placa, forma de pagamento, donos em branco e datas com erro de digitação) está detalhado em
supabase/README-import.md.
Edite o arquivo config.js na raiz do repositório:
window.AUTOGEST_CONFIG = {
url: "https://SEU-PROJETO.supabase.co",
key: "SUA_CHAVE_ANON_PUBLIC",
aiProxy: "" // opcional, ver Passo 5
};
A chave
anoné pública por natureza — pode ficar no repositório. A proteção dos dados vem da Row Level Security (RLS) do Supabase, não do segredo da chave.
O workflow .github/workflows/deploy.yml publica automaticamente a cada push.
Basta habilitar o Pages uma vez:
https://<usuario>.github.io/agi/ após o workflow concluir.(Alternativa sem Actions: em Settings → Pages → Source, escolher
"Deploy from a branch" e apontar para a branch/raiz que contém o index.html.)
Rode supabase/realtime.sql uma vez no SQL Editor. Ele publica a tabela
lancamentos no canal de tempo real, e aí qualquer inclusão, alteração ou
exclusão — feita neste aparelho, em outro, ou por outra pessoa — aparece no
app aberto na hora, sem recarregar a página.
Sem rodar, o app continua funcionando: ele se atualiza sozinho toda vez que você volta para a aba/janela. O que muda é a atualização ser imediata.
Para conferir se pegou, abra o console do navegador: com o canal no ar sai
AGI · atualização automática ativa.
A função "📷 Ler contrato com IA" usa a API da Anthropic. Para funcionar no navegador sem expor a chave, faça deploy da Edge Function:
supabase functions deploy ai-contrato
supabase secrets set ANTHROPIC_API_KEY=sk-ant-...
E aponte o config.js:
aiProxy: "https://SEU-PROJETO.supabase.co/functions/v1/ai-contrato"
A política RLS incluída libera leitura/escrita para a chave anônima — ótimo
para colocar no ar rápido, mas significa que qualquer um com a URL do site pode
ver/editar os dados. Para uso real, ative o Supabase Auth e restrinja as
políticas em schema.sql para usuários autenticados.
index.html App (front-end)
config.js Credenciais do Supabase (edite aqui)
supabase/setup.sql INSTALAÇÃO COMPLETA (rode este em banco novo)
supabase/schema.sql Cria as 4 tabelas e as políticas
supabase/seed.sql Carrega os 753 lançamentos iniciais
supabase/veiculos.sql Carrega a frota (185 veículos)
supabase/boleto_feito.sql Coluna boleto_feito nos lançamentos
supabase/lanc_num.sql Coluna lanc_num (número do lançamento principal)
supabase/realtime.sql Publica lancamentos no Realtime (atualização automática)
supabase/README-import.md Como a planilha vira SQL (o que foi tratado)
supabase/functions/ai-contrato/ Edge Function opcional (IA por foto)
.github/workflows/deploy.yml Publicação automática no GitHub Pages