Lalabase
티켓·문서·근무시간·고객대화를 한 곳에 모아 KI로 검색, 소프트웨어 기업 고객 프로젝트용, 오픈소스로 자체 서버·독일 클라우드에 배포
실시간 작업 시간·방법 분석·단계 측정·라인 균형·지표 추적·Excel로 내보내기 지원
Cronoanálise (estudo de tempos e métodos) e amostragem do trabalho em tempo real: cronometre etapas, balanceie a linha, acompanhe indicadores e exporte para o Excel.
비즈니스JavaScript · HTMLGitHub @danithomaseto온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Ferramenta web de cronoanálise (time & motion study) e amostragem do trabalho para captura e análise de tempos de processo em tempo real.README 전문 보기 ↗
Ferramenta web de cronoanálise (time & motion study) e amostragem do trabalho para captura e análise de tempos de processo em tempo real.
🔗 Aplicativo: crono-analise.vercel.app
| Documento | Para quem |
|---|---|
| 📘 Guia de uso passo a passo | Quem usa a ferramenta: login, cronometragem, Modo Campo, amostragem, balanceamento, A3, exportações, equipe e configurações, com imagens de cada tela |
| 🛠️ Como funciona e como foi feito | Quem mantém ou evolui: arquitetura, modelo de dados, mesclagem, fórmulas, banco de dados e RLS, segurança, testes e a história de cada etapa |
O CronoAnálise substitui a combinação cronômetro de celular + planilha por um fluxo único: você define as etapas do processo, cronometra cada ciclo tocando na etapa correspondente, e a ferramenta calcula os indicadores na hora — tempo total, produtividade, % de tempo que agrega valor, variabilidade, tamanho de amostra, takt time, balanceamento da linha e tendência de aprendizado — além de manter um histórico organizado por estudo, compartilhável com pessoas e times.
Cada etapa é classificada segundo a lógica clássica de análise de processo:
| Tipo | Significado |
|---|---|
| VA | Valor Agregado — a etapa transforma o produto/serviço |
| NVA | Não Agrega Valor — necessário, mas não transforma nada |
| Espera | Tempo parado entre etapas |
| Transporte | Movimentação de material, produto ou pessoas |
0)Espaço iniciar/pausar · 1–9 marcar etapa · 0 interrupção · N novo ciclo · Ctrl+Z desfazer1–9)Rode, no SQL Editor do Supabase (todos são idempotentes — podem rodar de novo):
supabase/schema.sql — tabelas originais.supabase/migrations/002_estudos_por_linha.sql — um estudo por linha, compartilhamento, versões, admin, excluir conta.supabase/migrations/003_equipe_seguranca.sql — times, tempo real, fotos (bucket privado crono-photos), erros do app, duas etapas obrigatória para quem ativar e retenção (LGPD).O app detecta sozinho o que já foi aplicado; sem a 003, tudo continua funcionando (sem times/tempo real/fotos na nuvem).
Limpeza automática (opcional): ative a extensão pg_cron (Database → Extensions) e rode a 003 de novo — a limpeza diária fica agendada. Sem ela, o administrador aplica a política pelo painel (Administração → Dados).
Recuperação de senha: a URL do app precisa estar em Authentication → URL Configuration (Site URL ou Redirect URLs).
O botão e o "Salvar no OneDrive" só aparecem quando o provedor Azure está ativo no Supabase. Até lá ficam escondidos, e quando o provedor é ativado aparecem sozinhos, sem novo deploy. Se o portal do Azure negar acesso (erro 401), peça ao TI o registro do app com os itens 1 a 3 abaixo.
https://zwfnsknaxqnexeuzvvjn.supabase.co/auth/v1/callback.https://login.microsoftonline.com/<ID do diretório> (assim só contas da empresa entram).https://crono-analise.vercel.app nas Redirect URLs.Quem já tem conta com o mesmo e-mail continua com os mesmos estudos (o Supabase liga as duas formas de entrar). O texto do botão, o título da tela e um logo próprio ficam em BRAND, em js/config.js — para usar o logo oficial, salve o arquivo do portal de marca (ex.: icons/logo-empresa.svg) e aponte BRAND.logo para ele.
Os módulos ES precisam ser servidos por HTTP:
npx serve . # ou: npm start
| Comando | O que faz | Precisa instalar |
|---|---|---|
npm test | Lógica pura: cronômetro, indicadores, Westinghouse, tendência, balanceamento, amostragem, mesclagem (200 cenários aleatórios), CSV, Excel, gráficos | nada |
npm run lint | ESLint + checagem de tipos (JSDoc) em js/core | npm i --no-save eslint@9 typescript@5 |
npm run test:sql | Aplica schema.sql, 002 e 003 num Postgres real e testa RLS, times, fotos, MFA, retenção, gatilhos e funções | npm i --no-save embedded-postgres pg |
npm run test:e2e | 31 cenários no navegador com o supabase-js real contra um Supabase simulado (HTTP, Realtime, Storage, MFA, login Microsoft e OneDrive), incluindo acessibilidade com axe-core | npm i --no-save [email protected] axe-core && npx playwright install chromium |
npm run test:visual | Regressão visual: compara screenshots das telas com as referências em tests/visual/baseline/ (-- --update aceita o visual novo) | npm i --no-save [email protected] pixelmatch pngjs |
npm run docs:screenshots | Gera as imagens do guia de uso (docs/img/) com dados de demonstração | npm i --no-save [email protected] |
npm run test:staging | Fluxo completo contra um Supabase de homologação (pulado sem credenciais) | Playwright + variáveis STAGING_* |
Instale as dependências de teste numa única linha (
npm i --no-saveremove o que não estiver na mesma chamada).
Todos rodam no GitHub Actions. Para ativar o teste de homologação: crie um projeto Supabase separado, rode nele os três scripts SQL, crie um usuário de teste e cadastre os segredos STAGING_SUPABASE_URL, STAGING_SUPABASE_ANON_KEY, STAGING_EMAIL e STAGING_PASSWORD (Settings → Secrets and variables → Actions).
index.html Página única (HTML)
css/styles.css Estilos (tema DHL claro/escuro, Modo Campo, impressão, A3)
fonts/ Lexend e Roboto Mono (locais, licença OFL)
js/main.js Entrada: login (e-mail, Microsoft, duas etapas), navegação, ações, inatividade, admin
js/editor*.js Tela do estudo: núcleo, cronômetro, etapas, registros, indicadores,
balanceamento, amostragem, A3, histórico
js/dashboard.js Tela inicial (filtros e painel do time)
js/teams.js · share.js Times · compartilhamento
js/photos.js Fotos (câmera, compressão, fila offline, galeria)
js/monitor.js Registro de erros do app
js/integrations.js OneDrive (Microsoft Graph) e compartilhar arquivo
js/cloud.js Supabase: sincronização, tempo real, times, fotos, erros, admin, conta
js/storage.js IndexedDB (estudos e fotos), separado por usuário
js/auth.js · js/ui.js Autenticação e MFA · toast, modais, menu, tema
js/config.js Configurações (Supabase, marca, admin, rótulos)
js/core/ Lógica pura, testável no Node
model.js Formato dos dados e mesclagem registro a registro
stats.js · trend.js Indicadores · tendência e curva de aprendizado
westinghouse.js Ritmo por etapa
balance.js Balanceamento de linha
sampling.js Amostragem do trabalho
charts.js Gráficos SVG
csv.js · xlsx.js · zip.js · report.js Exportações
sw.js Service worker (offline)
supabase/ schema.sql e migrations/ (002, 003)
tests/ node --test, e2e/, sql/, visual/, staging/, docs/ (imagens do guia)
docs/ Guia de uso, documento técnico e imagens (docs/img)
vendor/ supabase-js versionado
CronoAnalise System — desenvolvido por Daniel Thomaseto.
A assinatura do autor aparece na tela de login, no rodapé do app, nas Configurações, nos relatórios impressos (PDF e A3) e nas propriedades dos arquivos Excel (configurável em BRAND.author, em js/config.js).