Vagas de Trabalho para DEVs¶
Num cenário onde as vagas de trabalho em desenvolvimento de software estão cada vez mais dispersas entre diversas plataformas e sites, este projeto surge como uma solução para centralizar a busca por oportunidades na área de tecnologia. Através da coleta automática de vagas de múltiplas fontes, o sistema oferece uma API unificada que permite aos usuários consultar e filtrar as vagas de acordo com seus critérios específicos, facilitando o processo de encontrar a vaga ideal.
A ideia é facilitar a vida de quem está procurando emprego na área de tecnologia, permitindo filtrar por critérios como localização, tipo de trabalho (remoto, híbrido, presencial) e palavras-chave, entre outras funcionalidades.
Warning
O sistema está na sua fase inicial de desenvolvimento. Novas fontes e notificações em mensageiros serão adicionadas em breve. Caso queira contribuir, sinta-se à vontade para abrir um PR ou issue com sugestões!
Notificações¶
Além de coletar as vagas, o sistema também possui uma funcionalidade de notificações, que pode ser configurada para enviar alertas em mensageiros como Telegram sempre que novas vagas que correspondam a palavras-chave específicas forem encontradas. Isso permite que os usuários fiquem informados em tempo real sobre oportunidades relevantes, sem precisar acessar a API constantemente.
Para entrar para os grupos de notificações, basta clicar no link do mensageiro desejado:
Funcionalidades¶
- Busca periódica automática - scheduler configurável que roda em background e coleta novas vagas em intervalos definidos, sem intervenção manual
- Notificações - integração com Telegram para enviar alertas de novas vagas que correspondam a palavras-chave específicas
- Sem duplicação de vagas - vagas já registradas são ignoradas automaticamente, garantindo que o banco nunca acumule duplicatas, independente de quantas vezes o scheduler seja executado
- API REST centralizada - todas as vagas de todas as fontes acessíveis por um único endpoint, com filtros por palavra-chave, localização, tipo de trabalho e fonte
- Filtros disponíveis - busque vagas podendo filtrar pelas seguintes características:
- Palavra-chave - busca no título e descrição da vaga
- Localização - filtra por cidade ou estado (ex: "São Paulo", "Goiás")
- Tipo de trabalho - filtra por
remote,hybridouon-site - Fonte - filtra por plataforma de origem (ex:
gupy,linkedin, etc.) - Vagas para pessoas com deficiência - filtro específico para vagas que aceitam candidaturas de pessoas com deficiência
- Paginação - controle o número de resultados retornados e a partir de qual posição começar (limit/offset)
- Trigger manual de sync - é possível disparar uma sincronização sob demanda via endpoint, sem precisar esperar o próximo ciclo do scheduler
- Arquitetura extensível - adicionar uma nova fonte de vagas exige apenas criar um novo scraper herdando da classe base; toda a lógica de persistência e deduplicação já está pronta
Fontes Suportadas¶
- Gupy (via API)
- LinkedIn (via scraping)
Tecnologias Utilizadas¶
- FastAPI - API REST assíncrona
- SQLAlchemy - ORM e acesso ao banco de dados
- APScheduler - agendamento de tarefas em background
- httpx - cliente HTTP assíncrono para os scrapers
- Pydantic - validação e serialização de dados