Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证contatotrmktdigital-stack/Thiro.pedido
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Thiro.pedido — todas as 9 fases implementadas Sistema de comandas multi-restaurante.查看完整 README ↗
Sistema de comandas multi-restaurante. Todas as 9 fases planejadas estão implementadas e testadas de ponta a ponta: estrutura multi-restaurante, painel de super admin, login por papel (garçom, cozinha, caixa, gestão), a segunda senha da área de administração, o cadastro de cardápio (categorias e produtos), a abertura/lançamento de comandas pelo garçom (mesa, balcão/retirada ou delivery), a tela da cozinha em tempo real (KDS), o fechamento de conta direto na mesa pelo garçom (não existe uma pessoa fixa no caixa), o controle de estoque de insumos com baixa automática, os relatórios de faturamento, e uma notinha virtual na tela no lugar da impressão física (decisão do usuário — a plataforma atende vários restaurantes, cada um com impressoras diferentes, então imprimir de verdade fica pra quando fizer sentido pra um restaurante específico).
/garcom, digita o número
da mesa e escolhe uma ficha livre pra abrir a comanda, depois lança os itens do cardápio
com controle de quantidade e total ao vivo/cozinha e avança
o status (pendente → preparo → pronto) com um clique; a tela atualiza sozinha (Supabase
Realtime) assim que o garçom lança um item novo, sem precisar recarregar a página. O
garçom também vê o status de cada item ao vivo na comanda e marca como entregue quando
a cozinha finaliza/garcom, o garçom escolhe o tipo de
atendimento — mesa (como já era), balcão (só o nome do cliente) ou delivery (nome,
telefone, endereço e taxa de entrega). Cada tela (garçom, cozinha, caixa) mostra a
identificação certa pra cada tipo, e o fechamento no caixa soma a taxa de entrega ao
total da contathiro-pedido) e uma senha de banco de dados
forte (guarde essa senha em um lugar seguro, ela é diferente das senhas do sistema)supabase/sql/001_fase1_fundacao.sql deste projeto, copie todo o conteúdo
e cole no editorComo o cadastro de restaurantes é sempre feito por você (nunca pelo próprio dono do restaurante se inscrevendo sozinho), vamos fechar essa porta:
insert into public.profiles (id, restaurant_id, full_name, role)
values ('COLE-O-UID-AQUI', null, 'Seu Nome', 'super_admin');
Isso exige o Supabase CLI instalado no seu computador. Se você não tiver, me avise que eu te guio na instalação — ou podemos fazer essa etapa juntos quando chegar a hora.
npm install -g supabase
supabase login
supabase link --project-ref SEU-PROJECT-REF # está em Project Settings > General
supabase functions deploy create-user
.env.example para um novo arquivo chamado .envVITE_SUPABASE_URL=https://SEU-PROJETO.supabase.co
VITE_SUPABASE_ANON_KEY=sua-chave-anon-aqui
npm install
npm run dev
Abra o endereço mostrado no terminal (normalmente http://localhost:5173), entre com o
e-mail/senha do super admin que você criou no passo 4, e você deve cair no painel de
criação de restaurantes.
src/
lib/supabaseClient.js cliente do Supabase (usa as chaves do .env)
context/AuthContext.jsx sessão, perfil e restaurante do usuário logado
context/AdminGateContext.jsx controle da segunda senha de administração
components/ layout, rotas protegidas, redirecionamento por papel, ConfirmButton (confirmação sem diálogo do navegador), Notinha (recibo virtual), charts/ (BarList, VerticalBars)
pages/
Login.jsx
superadmin/ painel do super admin (criar/gerenciar restaurantes)
gestao/ painel de gestão + área de administração (PIN) + cardápio + comandas físicas + usuários + estoque/receitas + relatórios
garcom/ comandas abertas (mesa/balcão/delivery) + lançamento de itens + fechamento na mesa
cozinha/ fila de pedidos em tempo real (KDS)
caixa/ "Notinhas de hoje": comandas fechadas hoje + notinha virtual de cada uma
supabase/
sql/001_fase1_fundacao.sql schema do banco + segurança (RLS) da Fase 1
sql/002_fix_pgcrypto_search_path.sql correção do PIN (pgcrypto no schema extensions)
sql/003_fase2_cardapio.sql tabelas de categorias/produtos + RLS da Fase 2
sql/004_fase3_mesas_comandas.sql tabelas de comandas/itens da Fase 3 (mesas removida na 005)
sql/005_comandas_fisicas.sql comandas físicas + mesa digitada (ajuste da Fase 3)
sql/006_fase4_cozinha_realtime.sql RLS de cozinha + Realtime ligado em comanda_itens (Fase 4)
sql/007_fase5_caixa.sql forma de pagamento + trava de itens após fechar (Fase 5)
sql/008_fase6_balcao_delivery.sql tipos de atendimento mesa/balcão/delivery (Fase 6)
sql/009_fase7_estoque.sql insumos, receitas e baixa automática por trigger (Fase 7)
functions/create-user/ Edge Function que cria novos logins com segurança
Relatórios (Fase 9) e a notinha virtual (Fase 8) não precisaram de SQL novo — são só código de frontend.
O sistema já está no ar em https://thiro-pedido.vercel.app, hospedado no Vercel (time
"Thiro", projeto thiro-pedido), com deploy automático a cada git push na branch main. O
código-fonte está no GitHub em contatotrmktdigital-stack/Thiro.pedido.
Detalhes importantes de quem for mexer nessa configuração:
VITE_SUPABASE_URL e VITE_SUPABASE_ANON_KEY,
configuradas em Project Settings → Environment Variables. Como o Vite grava essas variáveis
dentro dos arquivos do site já na hora de compilar (não lê elas depois, em tempo real), toda
vez que uma delas mudar é preciso fazer um Redeploy manual no Vercel (aba Deployments → "..."
→ Redeploy) — só salvar a variável não é suficiente.sb_publishable_...) e a clássica (um token longo que começa com eyJ...). Neste projeto, a
chave nova causava erro 401 "Invalid API key" e o login parava de funcionar em produção — use
sempre a clássica (eyJ...) tanto no .env local quanto na env var do Vercel.vercel.json: contém uma regra de rewrite ("/(.*)" → "/index.html") necessária para as
rotas do React Router (/garcom, /cozinha, etc.) funcionarem ao recarregar a página ou abrir
o link direto — sem isso o Vercel retorna 404 nessas URLs.https://thiro-pedido.vercel.app (não localhost), senão links de e-mail (como
recuperação de senha) abrem com erro de conexão recusada.Todas as 9 fases planejadas já têm código pronto e testado, e o site já está no ar. Só falta:
[email protected] está em uso hoje)Qualquer dúvida em algum desses passos, é só chamar — posso te guiar em cada etapa.