Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.