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。 以下为已保存的摘录。
Frontend (Next.js) do sistema de Captação Inteligente da Valetrade. Fala com o backend real (captacao-api, repositório separado) por HTTP — nunca acessa banco de dado direto, só o Supabase Auth para login/logout. Documentação completa: docs/ARCHITECTURE.md. Next.js 16 (App Router, Turbopack), React 19, Tailwind v4, shadcn (@base-ui/react), @supabase/supabase-js (só autenticação), Vitest + Testing Library. • Node.js 18+ • Uma instância do captacao-api rodando (local ou remota) e um projeto Supabase (mesmo usado pelo backend, para login)查看完整 README ↗
Frontend (Next.js) do sistema de Captação Inteligente da Valetrade. Fala
com o backend real (captacao-api, repositório separado) por HTTP — nunca
acessa banco de dado direto, só o Supabase Auth para login/logout.
Documentação completa: docs/ARCHITECTURE.md.
Next.js 16 (App Router, Turbopack), React 19, Tailwind v4, shadcn
(@base-ui/react), @supabase/supabase-js (só autenticação), Vitest +
Testing Library.
captacao-api rodando (local ou remota) e um projeto
Supabase (mesmo usado pelo backend, para login)npm install
cp .env.example .env.local
Preencha o .env.local:
| Variável | De onde vem | Uso |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase → Settings → API → Project URL | Só o SDK de login |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase → Settings → API → anon public key | Só o SDK de login (não é segredo) |
NEXT_PUBLIC_API_URL | URL do captacao-api (local: http://localhost:3000, ou a porta que ele estiver usando) | Toda chamada de dado de negócio |
npm run dev
Abre em http://localhost:3000 (ou a próxima porta livre, se a 3000 já
estiver ocupada pelo backend — nesse caso ajuste NEXT_PUBLIC_API_URL
de acordo).
npm test
npm run lint
src/
app/
login/ tela de login
(authed)/ rotas autenticadas (carteira, clientes, captações, histórico, dashboard)
components/
app-shell.tsx sidebar, navegação, tema
row-actions.tsx par de ícones editar/excluir, padrão em toda tabela
lib/
api.ts cliente HTTP pro captacao-api
supabase.ts SDK do Supabase (só auth)
mock-mode.ts / mock-backend.ts modo demo, ver abaixo
Login via Supabase Auth SDK, direto do navegador — a sessão fica em
localStorage. Toda chamada de dado de negócio (lib/api.ts) injeta o JWT
dessa sessão no header Authorization; o backend valida. Sem sessão
válida, a chamada à API retorna 401 e a tela redireciona pro login.
Existe um modo de demonstração (link "Ver demonstração" na tela de login)
que navega o app inteiro sem nenhum backend real — todas as chamadas
são respondidas por um backend falso em memória (lib/mock-backend.ts,
dados fixos em lib/mock-data.ts). Nada digitado nesse modo é salvo de
verdade. Existe pra permitir mostrar/testar a interface sem depender de
banco de dados ou backend no ar. Detalhe completo em
docs/ARCHITECTURE.md.
Arquitetura cruzando frontend + backend (fluxo completo, decisões da
migração em si) fica no repositório do backend:
../captacao-api/migration-plan/ (histórico) e
../captacao-api/docs/ARCHITECTURE.md (visão viva do sistema todo).