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。 以下为已保存的摘录。
Sistema web para controle de processos logísticos de importação e exportação, desenvolvido sob medida para a Transportes Imigrantes. Substitui o controle manual (planilhas/e-mail) por um painel único, em tempo real, compartilhado por toda a equipe. O LogiTrack Pro organiza cada processo de importação ou exportação em um card, com um checklist específico para cada tipo de operação, prazos visuais e cadastros compartilhados (terminais, armadores, tipos de contêiner) usados por toda a equipe.查看完整 README ↗
Sistema web para controle de processos logísticos de importação e exportação, desenvolvido sob medida para a Transportes Imigrantes.
Substitui o controle manual (planilhas/e-mail) por um painel único, em tempo real, compartilhado por toda a equipe.
🔗 Em produção: https://logisitica-imigrantes-track.vercel.app/
O LogiTrack Pro organiza cada processo de importação ou exportação em um card, com um checklist específico para cada tipo de operação, prazos visuais e cadastros compartilhados (terminais, armadores, tipos de contêiner) usados por toda a equipe.
É um projeto frontend (sem servidor próprio): todo o backend é o Firebase (autenticação e banco de dados em tempo real), e o site é publicado na Vercel.
Processos
Tabela de fretes
Cadastros compartilhados
Produtividade
Exportação de dados
Outros
├── index.html # Página base (o React monta o app em #root)
├── vite.config.js # Configuração do Vite, Tailwind e PWA
├── vercel.json # Como a Vercel faz o build (npm run build → dist/)
├── firestore_1.rules # Regras de segurança do Firestore (aplicar no Firebase Console)
├── public/icons/ # Ícones do app
├── scripts/ # Backup e restauração do Firestore
├── .github/workflows/ # Verificação (CI) e backup diário
└── src/
├── main.jsx # Ponto de entrada
├── App.jsx # Login x tela principal
├── index.css # Paleta (tema claro/escuro) e estilos globais
├── lib/ # Firebase, regras de negócio, gravações, PDF/CSV
├── contexts/ # Autenticação, cadastros compartilhados, toasts
├── hooks/ # Processos em tempo real, tema, ordem dos cards
└── components/ # Telas e componentes (cards, modal, formulário...)
Requer Node.js 24, a mesma versão do GitHub e da Vercel (definida no .nvmrc e em engines no package.json).
npm install # instala as dependências (só na primeira vez)
npm run dev # abre em http://localhost:5173
npm run build # gera a versão de produção em dist/
Para o login funcionar localmente, http://localhost:5173/* precisa estar nos referenciadores HTTP permitidos da chave de API do Firebase (Google Cloud Console → APIs e serviços → Credenciais → Browser key).
No Firebase Console:
firestore_1.rules publicadas em Firestore Database → Regras.A Vercel está conectada a este repositório: qualquer push para a branch principal publica a nova versão em produção, e outras branches geram um endereço de teste (preview). O vercel.json informa o build (npm run build, saída em dist/).
npm test # testes automáticos (regras de processo, prazos, ISO 6346, números)
npm run check # lint + testes + build, o mesmo que o GitHub roda
Todo Pull Request e todo push no main e no teste rodam a verificação Lint, testes e build (.github/workflows/ci.yml). O main está protegido: só aceita merge com a verificação aprovada.
Abrem o app num navegador de verdade (Chromium, via Playwright), ligado ao emulador do Firebase com dados fictícios; nada toca a produção. Ficam em e2e/ e também rodam no GitHub.
Para rodar na sua máquina, precisa do Java 21 ou superior (o emulador usa) e, só na primeira vez, baixar o navegador:
npx playwright install chromium
npm run e2e # sobe os emuladores, roda os testes e desliga tudo
Se algum falhar, o relatório fica em playwright-report/.
O Dependabot (.github/dependabot.yml) abre PRs toda segunda com as versões novas: as pequenas juntas num PR só, as principais (que podem quebrar algo) separadas. O CI testa cada um; o merge é manual.
A branch teste tem um endereço permanente na Vercel:
https://logisitica-imigrantes-track-git-teste-imigrantes.vercel.app
Para testar uma mudança antes da produção, envie-a para a branch teste. Esse endereço fica liberado de vez na chave do Firebase, então não é preciso liberar um endereço novo a cada mudança. Depois de aprovada, abra o Pull Request para o main.
O workflow Backup do Firestore (.github/workflows/backup.yml) exporta todas as coleções (processos, fretes e cadastros) todo dia às 03:00, criptografa o arquivo com AES-256 e o guarda por 90 dias na aba Actions do GitHub. Também dá para rodar na hora: Actions → Backup do Firestore → Run workflow.
Configuração (uma vez só):
.json.FIREBASE_SERVICE_ACCOUNT: cole o conteúdo inteiro do arquivo .json.BACKUP_PASSWORD: uma senha forte. Guarde-a: sem ela o backup não abre..json do computador depois de cadastrar os segredos.Para restaurar: baixe o arquivo .json.enc da execução desejada na aba Actions e siga as instruções no início de scripts/restaurar-backup.mjs.
Os scripts de scripts/ (backup, restauração, ensaio e alerta) têm package.json e lockfile próprios, só com o firebase-admin, para instalar rápido e sempre na mesma versão. Antes de rodá-los na sua máquina, instale uma vez:
npm ci --prefix scripts
Cada empresa roda numa instância própria (projeto Firebase e projeto Vercel separados), a partir do mesmo código. O nome da empresa fica em um lugar só, src/marca.js, e o teste src/marca.test.js barra o nome escrito direto nos componentes.
O que o nome configurável já cobre: tela de login, menu lateral, tela de abertura (inclusive a estática do index.html), ficha do processo em PDF, imagem de status para clientes e a descrição do app instalado.
Passo a passo:
firestore_1.rules nele (npx firebase deploy --only firestore:rules --project <id>). Deixe a criação de contas desativada: as regras dependem disso.npx firebase apps:sdkconfig WEB <appId> --project <id>).VITE_EMPRESA_NOME e VITE_FIREBASE_API_KEY, VITE_FIREBASE_AUTH_DOMAIN, VITE_FIREBASE_PROJECT_ID, VITE_FIREBASE_STORAGE_BUCKET, VITE_FIREBASE_MESSAGING_SENDER_ID, VITE_FIREBASE_APP_ID. Sem elas vale o projeto de produção atual. O arquivo .env.modelo é o exemplo preenchido do projeto modelo.<id>.firebaseapp.com ao frame-src da CSP em vercel.json e restrinja a chave do Firebase ao domínio da Vercel do cliente.public/icons/) se o cliente quiser a marca própria.Testar a instância modelo na sua máquina: npm run dev -- --mode modelo (lê o .env.modelo).
Ainda manual: o passo 4 (a CSP é um arquivo estático) e a ativação do Authentication no Console, que o Firebase CLI não faz.
Dados inventados (empresas, documentos, placas, valores), com datas relativas a hoje para a tela Início sempre ter atrasados e compromissos. Ficam em scripts/demo/dados-demo.mjs.
No seu computador, sem nuvem (para gravar vídeo ou demonstrar):
npx firebase emulators:start --only auth,firestore --project demo-logitracknpm run demo:emulador (imprime o e-mail e a senha do usuário de demonstração)npm run dev -- --mode demoNo projeto modelo na nuvem (demonstração online): defina DEMO_EMAIL e DEMO_SENHA na sessão do terminal e rode npm run demo:nuvem. O script recusa projetos que não tenham "modelo" ou "demo" no id, então não grava na produção.
firestore_1.rules) e na restrição da chave por domínio no Google Cloud Console. Ainda assim, recomenda-se manter este repositório privado.Projeto de uso interno da Transportes Imigrantes, desenvolvido por Matheus Fagundes.