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
Controle de pedidos, estoque, clientes e financeiro da Seu Birita Distribuidora.
Translation pending
BusinessTypeScript · SwiftGitHub @luan-nogueiraOnlineOwner 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 pedidos, acerto de consignação, clientes e financeiro — feito pra usar no celular (no galpão e no evento) e também no computador. Abre em. Sem configurar o Firebase o sistema entra em modo demonstração: os dados ficam salvos só no navegador, já com o catálogo de produtos da planilha antiga carregado. Dá pra navegar e testar tudo antes de criar qualquer conta. O projeto já aponta pro Firebase seu-birita (veja .firebaserc), com Firestore e login por e-mail/senha. O primeiro passo é interativo (abre o navegador), então precisa ser feito à mão:Read the full README ↗
Sistema de pedidos, acerto de consignação, clientes e financeiro — feito pra usar no celular (no galpão e no evento) e também no computador.
npm install
npm run dev
Abre em http://localhost:3000.
Sem configurar o Firebase o sistema entra em modo demonstração: os dados ficam salvos só no navegador, já com o catálogo de produtos da planilha antiga carregado. Dá pra navegar e testar tudo antes de criar qualquer conta.
O projeto já aponta pro Firebase seu-birita (veja .firebaserc), com
Firestore e login por e-mail/senha.
O primeiro passo é interativo (abre o navegador), então precisa ser feito à mão:
npx -y firebase-tools@latest login
Depois, o restante:
# 1. Confirma o projeto ativo
npx -y firebase-tools@latest use seu-birita
# 2. Registra o app web (só na primeira vez)
npx -y firebase-tools@latest apps:create WEB "Sistema Seu Birita"
# 3. Pega a configuração e joga em .env.local
npx -y firebase-tools@latest apps:sdkconfig WEB
# 4. Liga o login por e-mail/senha (lê o bloco "auth" do firebase.json)
npx -y firebase-tools@latest deploy --only auth
# 5. Publica as regras de segurança
npx -y firebase-tools@latest deploy --only firestore:rules
Copie .env.local.example para .env.local e preencha com o que o passo 3
devolveu. Reinicie o npm run dev: o aviso de "modo demonstração" some e a tela
de login aparece.
Por fim, crie o usuário da equipe em Firebase Console → Authentication → Users → Add user.
As regras em firestore.rules só liberam escrita pra quem está logado. A única
leitura pública é a coleção produtos, porque a tabela de preços em /catalogo
precisa abrir sem login — é o link que vai pro cliente.
O Firestore está configurado com cache persistente: o celular continua funcionando sem sinal no galpão e sincroniza sozinho quando a internet volta.
A distribuidora trabalha de dois jeitos, e o pedido carrega essa distinção:
| Tipo | Como funciona |
|---|---|
| Consignação | Entrega no evento → cliente devolve o que não vendeu → paga o saldo |
| Venda direta | Cliente compra e leva. Sem devolução. |
Cada produto guarda quantas unidades vêm na caixa (Corona 24, Coca 12, Suco 6),
então tudo pode ser lançado em caixas + unidades avulsas e o sistema
converte. Um pedido aceita várias remessas ("Entrega 1", "Entrega 2"), igual às
colunas PEDIDO 01 / PEDIDO 02 da planilha antiga.
O acerto fecha assim:
consumo = (entregue − devolvido) × preço
total a receber = consumo − desconto + pendência anterior
falta receber = total a receber − pago
npm run verificar roda o acerto do Estação Lounge (o da foto) pelo código do
sistema e compara com os totais da planilha:
OK Valor do pedido (mercadoria entregue) R$ 15.018,00
OK Valor final (consumo) R$ 3.556,20
OK Pendência anterior R$ 4.617,00
OK Total a receber R$ 8.173,20
| Rota | O que é |
|---|---|
/ | Painel: a receber, faturado no mês, contas em aberto |
/pedidos | Lista de pedidos com filtro por status e por cliente |
/pedidos/[id] | Montagem do pedido, devolução, fechamento e pagamento |
/pedidos/[id]/relatorio | Relatório A4 com a logo — imprime ou salva em PDF |
/produtos | Catálogo, preços, un/caixa e importação em massa |
/clientes | Cadastro, pendência por cliente, atalho pro WhatsApp |
/financeiro | A receber por cliente e histórico de recebimentos |
/catalogo | Tabela de preços pública — o link que vai pro cliente |
/login | Entrada da equipe (e-mail/senha) |
/estoque, /fornecedores | Próxima etapa |
(default) STANDARD em southamerica-east1,
regras publicadas, login por e-mail/senha ativopublic/logo.png (hoje há um letreiro em SVG
no lugar; o componente troca sozinho quando o arquivo existir)seu-birita-default-rtdb, criado por engano
e não usado pelo sistemasrc/lib/empresa.ts)seubirita.kyte.sitesrc/
app/ telas (App Router, tudo client-side)
components/ peças reaproveitadas de interface
lib/
types.ts modelo de domínio
calc.ts regras de cálculo do acerto
store.tsx estado global + acesso a dados
db/ adaptadores: Firestore e navegador (demonstração)
scripts/
verificar-calculo.ts conferência contra a planilha real