Este projeto foi desenvolvido e testado nas seguintes versões de software e ferramentas. Para garantir compatibilidade e funcionamento adequado, utilize as versões listadas ou superiores, exceto quando especificado.
- Versão Suportada:
v20.11.x
ou superior
- Versão Suportada:
v4.5.x
- Versão Suportada:
v1.93.x
ou superior
- ESLint
- Versão:
v3.0.x
- Descrição: Ajuda a manter o código consistente, identificando problemas de estilo e erros.
- Versão:
- Prettier - Code Formatter
- Versão:
v11.0.x
- Descrição: Ferramenta para formatação automática do código, seguindo padrões estabelecidos.
- Versão:
- Error Lens
- Versão:
v3.20.x
- Descrição: Destaca erros, warnings, e outras mensagens diretamente no código, tornando a correção mais rápida e visual.
- Versão:
- GitLens - Git supercharged
- Versão:
v15.5.x
- Descrição: Melhora a visualização do histórico de commits e a colaboração em projetos Git.
- Versão:
- NPM:
v10.2.x
ou superior - Yarn:
v1.22.x
ou superior (opcional) - Git Bash:
v5.2.x
ou superior - Docker:
v24.0.x
ou superior
O Git Bash faz parte do pacote Git for Windows, que é oferecido no próprio site oficial do Git, em: https://git-scm.com/download/win
- Instalar o Git Bash em sua máquina.
- Criar uma pasta do projeto em seu computador.
- Clique com o botão direito do mouse na pasta e selecione o Git bash.
- Após abrir a janela, vamos dar início no clone do projeto.
1 - Faça um fork do projeto no seu Github
2 - Clone o projeto na janela que abriu com o seguinte comando:
git clone https://github.com/seuNomeDeUsuario/motor-vagas.git
Após isso pode fechar a janela!
Entre na pasta do projeto pelo Visual Studio, Abra o terminal do visual Studio e vá para o diretório do projeto com o comando:
cd motor-vagas
Instale as dependências
npm i
Feito a instalação dos pacotes basta copiar o arquivo .env.example
, renomear a cópia para .env
e preencher com as informações do banco de dados - o PostgreSQL.
Caso precise das informações para preencher o .env, pergunte a alguém da equipe de backend.
Arquivo .env
# BASIC_ENVs
PORT= # Porta em que a API irá rodar (ex.: 3000, 8080)
# TYPEORM_CONNECTION
DATABASE_HOST= # Host name do seu banco (ex.: localhost, 127.0.0.1)
DATABASE_USER= # Seu usuario do banco postgres (ex.: postgres)
DATABASE_PASS= # Sua senha do banco postgres (ex.: postgres)
DATABASE_NAME= # Sua database do banco de dados (ex.: motordb)
1.Install Docker Desktop on Mac
2.Install Docker Desktop on Windows
3.Install Docker Desktop on Linux
Agora você pode instalar tudo o que precisa para executar o Windows Subsystem for Linux (WSL) inserindo este comando em um PowerShell administrador ou Windows Command Prompt e, em seguida, reiniciando sua máquina.
wsl --install
Para rodar localmente de forma correta, é preciso que uma instância do banco de dados esteja rodando. Iremos iniciar essa instância utilizando Docker. Dentro da pasta principal do projeto, navegue até a pasta local
e inicie o banco de dados utilizando os seguintes comandos:
cd local/
docker-compose up -d
Após o banco de dados ser iniciado corretamente, utilize o seguinte comando para iniciar o servidor local:
npm run dev
Caso você deseje executar SQL nesse banco de dados instanciado com docker, você pode rodar o seguinte comando para acessar o terminal do container (Sendo
postgresdb
o nome do container):docker exec -it postgresdb bash
E o seguinte comando para se conectar ao banco de dados (Sendo
postgres
o nome de usuário emotordb
o nome do banco de dados):psql -U postgres -d motordb
Este webscrapper está em forma de api, portanto faz sua função através de requisições. As mesmas deverão ser feitas temporariamente localmente, pois o webscrapper dentro de container docker não funciona nos sites de hospedagens back-end gratuítos que encontramos, entretanto hospedamos essa api no render para que possamos nos conectar a ele e ao banco de dados e fazer a integração para outros serviços. (como o próprio portal de vagas):
Link da api no render: https://motor-vagas.onrender.com/
A documentação interativa com Swagger está disponível em produção na URL:
https://motor-vagas.onrender.com/docs
ou em desenvolvimento(caso você esteja rodando o projeto em sua máquina) na URL:
http://localhost:3333/docs
GET /job
Parâmetro | Tipo | Descrição |
---|---|---|
filter |
string |
Opcional. Filtro de vagas por título/nome/descrição/empresa |
sort |
string |
Opcional. ASC/DESC, Ordena os resultados |
POST /job
Parâmetro | Tipo | Descrição |
---|---|---|
locations |
Array<string> |
Obrigatório. Array de localizações a serem buscadas. Ex: ["Brazil"] |
keyword |
string |
Obrigatório. Palavra chave a ser utlizada para encontrar vagas |
description |
boolean |
Obrigatório. Define se irá ou não salvar a descrição da vaga |
DELETE /job/{id}
Parâmetro | Tipo | Descrição |
---|---|---|
id |
string |
Obrigatório. ID de vaga a ser excluída |
GET /job/counter
Seleciona empresas do site relocateMe e salva
POST /company/relocateMe
Seleciona empresas do site siaExplains e salva
POST /company/siaExplains
POST /company/{name}/scrapp
Parâmetro | Tipo | Descrição |
---|---|---|
name |
string |
Obrigatório. relocateMe/siaExplains - Nome do site a ser buscado |
Ricardo Machado |
---|
Patrick Otero |
Mikael Melo |
---|
Lucas Rigon |
---|
Wouerner |
---|
Se você tiver algum feedback, por favor nos deixe saber por meio do nosso Discord. Ou fazendo uma contribuição.
Contribuições são sempre bem-vindas!
Esse projeto é usado pela SouJunior.