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
- Crawling: Utiliza requisições HTTP para a API interna ou páginas do Arcade (dependendo da implementação).
- Processamento: Extrai e estrutura os dados dos milestones.
- Publicação: Usa o Firebase Admin SDK para enviar os dados ao Remote Config.
- 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