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,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
CRM da operação imobiliária: roleta de distribuição de leads com trava de atendimento, check-in por IP e turno, pipeline de negócios com rateio de VGV, esteira de crédito (CCA), SDR por IA, diário de equipe e gamificação. Substitui a stack anterior em Bubble/N8N. Nada foi importado do banco antigo. Requisito: Node.js e npm (instalar com nvm).檢視完整 README ↗
CRM da operação imobiliária: roleta de distribuição de leads com trava de atendimento, check-in por IP e turno, pipeline de negócios com rateio de VGV, esteira de crédito (CCA), SDR por IA, diário de equipe e gamificação.
Substitui a stack anterior em Bubble/N8N. Nada foi importado do banco antigo.
Requisito: Node.js e npm (instalar com nvm).
npm i
cp .env.example .env # passo obrigatório: ver abaixo
npm run dev
O .env.example traz os valores como placeholder, então copiá-lo não basta:
preencha VITE_SUPABASE_URL e VITE_SUPABASE_PUBLISHABLE_KEY antes do
npm run dev (onde achar cada um está em comentário no próprio arquivo). Sem os
dois, a página abre em branco — sem título, sem mensagem: o cliente Supabase
recusa a URL no import e nada chega a montar. O motivo só aparece no console do
navegador.
npm run lint
npm run typecheck # `npx tsc --noEmit` na raiz NÃO checa nada
npx vitest run
./scripts/validate-schema.sh --all # migrations + RLS + asserts SQL; exige Docker
npm run build é vite build puro: não faz typecheck.
As migrations e o seed usam o schema novo. Para aplicar o seed completo no projeto remoto pelo PowerShell (a senha é solicitada sem ser exibida):
npm run db:seed:remote
Esse comando usa Docker para executar o psql, sem colocar a senha na URI nem
no histórico do terminal. Ele carrega catálogo, pessoas fictícias bloqueadas
para login, equipes, leads, negócios, CCA, SDR, daily, gamificação, marketing e
workspace. Os registros são idempotentes: o comando pode ser repetido.
Para criar o seu primeiro usuário real:
npm run user:create -- -Email [email protected] -FullName "Administrador" -Role admin
O script lê VITE_SUPABASE_URL do .env e pede, sem exibir, apenas a
service_role key. Essa chave deve ser copiada de Supabase → Project
Settings → API Keys e nunca deve ser salva no .env do Vite, commitada ou
exposta no navegador.
Dois jeitos de entrar (src/pages/Login.tsx): senha
(signInWithPassword) ou código de 6 dígitos enviado ao e-mail
(signInWithOtp + verifyOtp). O código depende do SMTP e do template de
Magic Link configurados no painel; a senha existe justamente para não depender
disso. O usuário é criado com email_confirm, então já recebe o código na
primeira tentativa.
Depois, inicie o aplicativo e entre pela rota /login:
npm run dev
React 18 · TypeScript 5 · Vite 5 · Tailwind + shadcn/ui (Radix) · TanStack Query · React Router 6 · Recharts. Backend Supabase (Postgres com RLS, Auth, Storage, Edge Functions em Deno, pg_cron). Vitest e Playwright nos testes; Electron empacota a versão desktop.
O destino de publicação é a VPS: frontend e serviços Supabase no mesmo servidor, com Postgres, Auth, Storage, Realtime e Edge Functions. A configuração e o procedimento de migração estão em deploy/README.md.
Depois da configuração inicial, o push na main valida o projeto, faz backup,
aplica somente migrations pendentes e publica. Uma migration com erro impede
a troca da aplicação. A ativação depende de VPS_DEPLOY_ENABLED=true no GitHub;
o CRM usa https://app.faceimob.com.br e o Manager da Evolution usa
https://evo.iafaceimob.com.br/manager/.
.claude/CLAUDE.md — arquitetura, invariantes do banco e armadilhas.CONTEXT.md — glossário do domínio.PLANEJAMENTO.md — placar por requisito.docs/sprints/ — sprint-demo.md (plano ativo) e decisoes.md (registro).supabase/README.md — como aplicar e validar o schema.