Windows-GPU-UNLOCK
RTX3090 UEFI 포트, 한국어 무리셋 윈도우 부팅 가이드, 검증된 소스와 벤치마크 제공
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
App de apoio para trabalho de reconditionnement (recondicionamento) de impressoras e copiadoras: referência de peças, acompanhamento diário de serviço, análise de indicadores e uma visão geral para administradores. Interface em francês (idioma de trabalho), com nomes/legendas em PT/EN nas peças. Roda direto no navegador, sem instalação — é um site estático (HTML + CSS + JS puro) com banco de dados na nuvem (Supabase).README 전문 보기 ↗
App de apoio para trabalho de reconditionnement (recondicionamento) de impressoras e copiadoras: referência de peças, acompanhamento diário de serviço, análise de indicadores e uma visão geral para administradores.
Interface em francês (idioma de trabalho), com nomes/legendas em PT/EN nas peças. Roda direto no navegador, sem instalação — é um site estático (HTML + CSS + JS puro) com banco de dados na nuvem (Supabase).
Catálogo de referência de componentes de impressora/copiadora, com nome em francês, português e inglês, categoria (Nettoyage / Montage / Électrique), descrição técnica e busca. Inclui um "Top 10" com a ordem oficial de desmontagem e um guia rápido de segurança/boas práticas.
1. Nouveau Service (com cronômetro) — para trabalho numa impressora específica:
2. Enregistrement rapide (sem cronômetro) — para o que não é trabalho numa máquina específica: basta escolher a data, a Étape (qualquer uma da lista, incluindo Réunion/Formation/Congés/5S), uma quantidade (opcional) e uma nota, e salvar. Aparece na hora no histórico, sem precisar rodar cronômetro nenhum — é o equivalente digital de preencher uma célula QTE da planilha de papel.
Todo o histórico mostra as duas coisas juntas, e cada técnico só vê os próprios registros (ver seção RGPD/Segurança abaixo).
Ma semaine — além de "Aujourd'hui", o técnico vê a semana inteira (segunda → domingo, com ‹ › para semanas anteriores), agrupada por dia, com total por dia, total da semana e barra de progresso até 35h. Cada entrada pode ser corrigida (étape, quantidade, nota, duração de um registro rápido) num formulário próprio, e um dia esquecido pode ser preenchido pelo botão "+ Ajouter". Exporta a semana em CSV (abre direto no Excel).
Visível só para os e-mails cadastrados na função is_admin() do banco
(SQL, ver seção abaixo) — o app pergunta ao Supabase "sou admin?" em vez de
guardar essa lista no código. Mostra um resumo geral (serviços, horas,
número de técnicos) direto ao abrir; a lista detalhada com os serviços de
cada técnico (fotos incluídas) só aparece depois de clicar em "Voir tous
les services de l'équipe" — ninguém fica exposto por padrão.
A tabela da semana (navegável com ‹ ›) lista todos os técnicos, inclusive quem não registrou nada; tocar num nome abre a Analyse só daquela pessoa. A lista de serviços tem filtro por técnico e export CSV.
Também tem dois painéis de gestão:
SUPABASE_SERVICE_ROLE_KEY na Vercel (ver seção "Configuração
do servidor" abaixo) — sem ela, o botão mostra um erro em vez de travar
silenciosamente.O projeto usa Supabase (Postgres + Auth + Storage).
As credenciais públicas (URL + chave "publishable") já estão no script.js
— isso é normal e esperado, a segurança de verdade vem das políticas RLS,
não do sigilo dessa chave.
Passo único: abra o SQL Editor do seu projeto Supabase e rode o
conteúdo de supabase/setup-complete.sql. Ele:
jobs (etape, quantite,
photo_url_final) — seguro rodar de novo, não duplica nadajobs, job_pauses e settings por Row Level Security: cada
técnico só vê/edita os próprios registrosis_admin() do próprio script⚠️ Importante: a lista de e-mails admin vive só dentro da função
is_admin(), no SQL (setup-complete.sql). O script.js não guarda mais
nenhum e-mail — ele só chama is_admin() pelo Supabase e mostra ou esconde
a aba Admin conforme a resposta. Pra adicionar ou trocar um admin, edite a
função is_admin() direto no SQL Editor do Supabase e rode de novo; não há
nada para sincronizar no código do site.
Os arquivos rls-admin-vs-own.sql e schema-additions.sql ficam na pasta
só como histórico — não precisa rodá-los, o setup-complete.sql já inclui
tudo o que eles faziam.
Depois de rodar o setup-complete.sql, rode também supabase/printer-models.sql
— ele cria a tabela printer_models (modelos de impressora por marca, hoje
gerenciável pelo Admin) e já vem populada com os modelos que estavam fixos
no código antes. Depende da função is_admin() criada pelo script anterior.
Rode também supabase/presence.sql — cria a tabela presence (primeira e
última atividade de cada técnico por dia, com a hora do servidor, não
do navegador). O técnico vê o próprio tempo no botão ⏱ do topo; o admin vê
a equipe inteira em Admin → "Présence aujourd'hui". Sem esse script o
botão ⏱ simplesmente não aparece.
Por último, rode supabase/harden-admin-check.sql — ele restringe quem
pode até perguntar "sou admin?" ao banco (só usuários logados, nunca
visitantes anônimos).
Feito em código/SQL:
ADMIN_EMAILS removido do script.js — o e-mail do admin nunca mais
trafega no HTML/JS que qualquer visitante pode abrir em "Ver código-fonte"vercel.json adiciona cabeçalhos de segurança HTTP em toda resposta do
site (X-Content-Type-Options, X-Frame-Options, Referrer-Policy)supabase/harden-admin-check.sql tranca a função is_admin() para só
usuários autenticados poderem chamá-la<script> do Supabase no index.html usa versão fixa + Subresource
Integrity (integrity="sha384-..."), então o navegador recusa rodar o
arquivo se o CDN algum dia servir um conteúdo diferente do esperadoSó dá pra fazer no painel do Supabase (nenhum código resolve isso):
O botão "Adicionar um técnico" do Admin precisa de uma chave secreta do
Supabase que nunca pode entrar no repositório nem no script.js — ela
dá acesso total ao banco, ao contrário da chave pública já usada no app.
Passo a passo:
script.js e é pública). Copie o valor.SUPABASE_SERVICE_ROLE_KEY com o valor
copiado, marcada para o ambiente Production (e Preview, se quiser
testar em branches).Sem essa variável configurada, o botão continua visível mas mostra uma mensagem de erro ao tentar criar a conta — não falha silenciosamente.
A função que faz isso vive em api/create-technician.js (roda só no
servidor da Vercel, nunca no navegador) e confere com o próprio Supabase se
quem está chamando é mesmo admin antes de criar qualquer conta.
O que ainda depende de decisão/ação humana (não é código): definir prazo de retenção dos dados, verificar a região de hospedagem do projeto Supabase, e formalizar um aviso de privacidade caso o app seja usado comercialmente ou vendido para terceiros.
index.html estrutura da página (todas as telas)
style.css visual (paleta petróleo + cobre, mobile-first)
script.js toda a lógica (dados, telas, gráficos, Supabase)
favicon.svg ícone do site
vercel.json cabeçalhos de segurança HTTP (deploy na Vercel)
package.json dependência da função serverless (api/)
api/
create-technician.js ⚠️ roda só no servidor — cria login de técnico
supabase/
setup-complete.sql ⭐ rodar 1º (colunas + segurança)
printer-models.sql ⭐ rodar 2º (tabela de modelos + admin)
harden-admin-check.sql ⭐ rodar 3º (tranca quem pode chamar is_admin())
presence.sql ⭐ tempo de conexão por técnico (botão ⏱ + Admin)
rls-admin-vs-own.sql histórico, não precisa rodar
schema-additions.sql histórico, não precisa rodar
Basta abrir index.html num navegador, ou publicar a pasta em qualquer
hospedagem estática (o projeto já está publicado via Vercel).