Este projeto é um robô automatizado que busca vagas de estágio e trainee em portais de emprego e envia notificações em tempo real para um canal do Discord.
- Busca Contínua: O robô opera em um loop infinito, procurando por novas vagas periodicamente.
- Web Scraping Inteligente: Utiliza scrapers para extrair informações de vagas diretamente de APIs de portais de emprego, como a Gupy.
- Filtragem Flexível: Possui um sistema de filtragem que analisa os títulos das vagas para garantir que apenas as mais relevantes sejam selecionadas, mesmo que não correspondam exatamente ao termo de busca.
- Notificações no Discord: Integra-se com o Discord através de webhooks para notificar sobre novas vagas encontradas, enviando título, descrição e link.
- Evita Duplicidade: Mantém um histórico das vagas já enviadas para não notificar a mesma vaga múltiplas vezes.
- CI/CD com Deploy Automático: Configurado com GitHub Actions para fazer o deploy automático da aplicação na plataforma Fly.io a cada
pushna branchmaster. - Containerizado: Utiliza Docker para criar um ambiente consistente e facilitar o deploy.
- Linguagem: Java 21
- Build: Apache Maven
- Bibliotecas:
- Jsoup (para requisições HTTP e parsing)
- Gson (para manipulação de JSON)
- OkHttp (cliente HTTP para o Discord)
- Infraestrutura:
- Docker
- Fly.io (Hospedagem)
- GitHub Actions (CI/CD)
Para executar este projeto, é necessário configurar a seguinte variável de ambiente:
DISCORD_URL: A URL do webhook do canal do Discord onde as notificações serão enviadas.
O projeto está configurado no fly.toml para utilizar um volume persistente montado em /var/data, onde o arquivo vagas_enviadas.txt é armazenado para manter o histórico entre os deploys.
- Clone o repositório:
git clone https://github.com/vitinh0z/AutomacaoVagasEstagio.git
- Navegue até o diretório do projeto:
cd AutomacaoVagasEstagio - Defina a variável de ambiente com a sua URL do Discord.
- Compile e empacote o projeto com o Maven:
mvn clean package
- Execute o arquivo
.jargerado:java -jar target/AutomacaoVagasEstagio-1.0-SNAPSHOT-jar-with-dependencies.jar
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.
Copyright (c) 2026 Victor Gabriel (vitinh0z)