Communitygithub.com

hoangsvit/arcade-crawler

Automaticamente coleta dados de milestones do Google Cloud Skills Boost Arcade e publica no Firebase Remote Config a cada 6 horas.

O que é arcade-crawler?

Esta skill é um crawler automático que extrai dados de milestones do Google Cloud Skills Boost Arcade, uma plataforma de aprendizado e desafios da Google Cloud. A cada 6 horas, a skill realiza a coleta das informações mais recentes sobre os milestones (como progresso, recompensas e metas) e as publica no Firebase Remote Config. Isso permite que aplicativos e serviços que consomem esses dados mantenham-se atualizados sem intervenção manual. A skill é útil para desenvolvedores que integram dados do Arcade em dashboards, gamificação ou sistemas de monitoramento. Ela é executada como um script independente e pode ser configurada para rodar em servidores ou ambientes serverless, como Google Cloud Run ou Cloud Functions, utilizando Node.js para o crawling e a API do Firebase Admin SDK para a publicação. A automação garante que as informações estejam sempre frescas, facilitando a sincronização em tempo real com o Remote Config.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add hoangsvit/arcade-crawler

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que arcade-crawler faz?

Automaticamente coleta dados de milestones do Google Cloud Skills Boost Arcade e publica no Firebase Remote Config a cada 6 horas.

Visão Geral

Esta skill realiza a extração automatizada (crawling) de dados de milestones da plataforma Google Cloud Skills Boost Arcade. A cada intervalo de 6 horas, ela:

  • Acessa o Arcade e recupera informações sobre milestones (por exemplo, progresso do usuário, recompensas e metas atingidas).
  • Processa e formata os dados extraídos.
  • Publica as informações atualizadas no Firebase Remote Config, permitindo que aplicativos consumam esses dados em tempo real.

Como Funciona

  1. Crawling: Utiliza requisições HTTP para a API interna ou páginas do Arcade (dependendo da implementação).
  2. Processamento: Extrai e estrutura os dados dos milestones.
  3. Publicação: Usa o Firebase Admin SDK para enviar os dados ao Remote Config.
  4. Agendamento: Um cron job ou timer (a cada 6 horas) dispara o processo automaticamente.

Pré-requisitos

  • Node.js (versão 18 ou superior)
  • Conta no Firebase com Remote Config ativado
  • Chave de serviço do Firebase Admin SDK (serviceAccountKey.json)
  • Acesso ao Google Cloud Skills Boost Arcade (credenciais ou token de API, se necessário)

Instalação

git clone https://github.com/hoangsvit/arcade-crawler.git
cd arcade-crawler
npm install

Configuração

Crie um arquivo .env na raiz do projeto:

FIREBASE_PROJECT_ID=seu-projeto-id
FIREBASE_CLIENT_EMAIL=seu-cliente-email@seu-projeto.iam.gserviceaccount.com
FIREBASE_PRIVATE_KEY="sua-chave-privada"
ARCADE_API_URL=https://arcade.google.com/api/...
ARCADE_AUTH_TOKEN=seu-token-de-autenticacao

Uso

Execute manualmente:

npm start

Para execução contínua (a cada 6 horas), use:

npm run scheduler

Estrutura do Projeto

arcade-crawler/
├── src/
│   ├── crawler.js        # Lógica de crawling
│   ├── publisher.js      # Publicação no Firebase Remote Config
│   └── scheduler.js      # Agendador (cron job)
├── .env                  # Variáveis de ambiente
├── package.json
└── README.md

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.

Licença

MIT

Habilidades Relacionadas