WallpaperMachine
The wallpapers you love. A new home on your Mac.
View your games and books on any device
AI summary · website content
LifestyleHTML · JavaScriptGitHub @hygoribeiroOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗App pessoal para organizar jogos (PS4, PS5, Steam) e livros. Funciona no celular e no PC.
| Arquivo | Para que serve |
|---|---|
index.html | O app inteiro (tela, lógica, login, sincronização) |
api/config.js | Entrega ao app as configurações públicas do Supabase |
api/steam.js | Busca biblioteca, horas e conquistas na Steam (API oficial) |
api/psn.js | Busca troféus e horas na PSN (biblioteca não oficial psn-api) |
api/_comum.js | Confere o login antes de liberar Steam/PSN |
supabase.sql | Cria a tabela e as regras de segurança no Supabase |
vercel.json, package.json | Configuração da Vercel |
api/lembrete.js | Tarefas diárias do cron da Vercel (21h): backup semanal, lembrete e alerta de preço |
api/precos.js, api/_precos.js | Busca jogos e preços (em reais) na loja da Steam para a lista de desejos |
api/trofeus.js | Lista completa de troféus/conquistas de um jogo (PSN ou Steam): todos, quais já foram pegos, data, raridade e descrição |
api/_psn.js, api/_steam.js | Login na PSN e credenciais da Steam, usados por mais de uma rota |
api/promocoes.js | Aba Promoções: promoções da Steam, preços da GG.deals para a lista de desejos e ofertas de lojas de PC do IsThereAnyDeal |
sw.js, manifest.webmanifest, icones/ | App instalável (tela inicial), abre offline e recebe notificações |
estante).supabase.sql e clique em Run.estante.vercel.app) e gere a chave.steamcommunity.com/profiles/7656...) ou o nome personalizado (steamcommunity.com/id/SEUNOME).https://ca.account.sony.com/api/v1/ssocookie.npsso (64 caracteres). Trate como senha. Ele expira em cerca de 2 meses.Estante. Framework: Other. Clique em Deploy.| Nome | Valor |
|---|---|
SUPABASE_URL | Project URL do Supabase |
SUPABASE_ANON_KEY | chave anon public do Supabase |
EMAIL_PERMITIDO | seu e-mail (só ele pode usar Steam/PSN) |
STEAM_API_KEY | chave da Steam |
STEAM_ID | seu SteamID |
PSN_NPSSO | token NPSSO |
Por volta das 21h (horário de Brasília), se você não registrou nada no dia, chega uma notificação de que a sequência está em risco.
supabase.sql inteiro (ele cria a tabela lembretes e não mexe nos seus dados).VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY, CRON_SECRET e SUPABASE_SERVICE_ROLE_KEY (esta última em Supabase → Project Settings → API → service_role; é secreta, nunca coloque no app). Para gerar as chaves VAPID: npx web-push generate-vapid-keys. CRON_SECRET é qualquer texto longo e aleatório.No Android, funciona no Chrome (melhor ainda com o app instalado: menu ⋮ → Instalar app). No iPhone (iOS 16.4+), primeiro adicione o app à Tela de Início e ative por lá. O plano gratuito da Vercel roda o cron uma vez por dia, em algum momento dentro da hora marcada.
supabase.sql (uma vez). Não precisa de variável nova na Vercel.Quando a sincronização da PSN avisar que o NPSSO expirou: gere um novo (passo 3), troque PSN_NPSSO na Vercel e faça Redeploy.
O próprio app mostra esse passo a passo, com os links, no botão Como renovar (no aviso de erro e em Ajustes → Token da PSN).
Aviso antes de vencer: o api/config entrega uma "impressão digital" do token (12 letras do SHA-256, não o token).
O app guarda o dia em que viu cada token pela primeira vez e, a partir de 50 dias, mostra um aviso na aba Jogos.
Com o lembrete diário ativado, o cron também manda uma notificação (uma vez por token) quando ele está perto de vencer
ou quando a PSN já recusou o token.
vercel.json manda uma política de conteúdo (CSP) que só deixa o app falar com o próprio site,
o Supabase (*.supabase.co), o Google Books e a Open Library. Se um dia trocar o Supabase por um endereço próprio,
acrescente esse endereço em connect-src. O supabase-js tem versão fixa e é conferido (SRI) antes de rodar.GGDEALS_API_KEY (depois Redeploy).
Uso pessoal; a GG.deals pede crédito com link onde os preços aparecem (o app já mostra).ITAD_API_KEY (depois Redeploy). Termos: uso pessoal, com link para o IsThereAnyDeal; os links das lojas não são alterados.