/job-match-api

Api de aplicação para listar candidatos

Primary LanguageJavaScript

Job Match API


Os melhores matchs para sua vaga

Desafio GeekHunter

Forks Stargazers Issues

Tabela de conteúdos

Sobre

Esta é uma API de uma aplicação web que lista os 5 melhores matchs (candidatos) para uma vaga.

Feito com

  • Node.js - JavaScript runtime
  • Express - O framework web utilizado
  • MongoDB - Base de dados não relacional
  • Yarn - Gerenciador de pacotes e dependências

Para começar

Com as instruções a seguir você terá uma cópia do projeto rodando em sua máquina local para propósitos de testes e desenvolvimento.

git clone https://github.com/Lorenalgm/job-match-api.git

cd job-match-api

Instalação padrão

Pré-requisitos

  • Node.js versão 10 ou superior
  • Um gerenciador de dependências - Yarn ou NPM
  • Uma instância local ou um cluster do MongoDB

Instalando dependências

npm install

ou

yarn

Inicializando uma instância local

npm run dev

ou

yarn dev

Teste

Para rodar os testes existentes criados com jest, você pode utilizar:

npm run test

ou

yarn test

Qualidade

Para guiar a qualidade do código, este repositório foi integrado ao CodeClimate, obtendo até o presente momento o resultado:

JobMatch

Referência de API

Os serviços disponíveis nesta API são:

API de Candidatos

Utilize a API de candidatos sempre que precisar buscar os matchs para uma vaga.

GET: /candidates

Função

Listar todos os candidatos;

Requisição

| Campo | Descrição | Tipo de dado | Obrigatório | |-----------|-----------|-------------------|--------------|------------| | city | Cidade | String | Sim | | experience | Experiência | String | Sim | | technologies | Tecnologias | Array | Sim |

URL de Requisição

https://job-match-api.herokuapp.com/candidates

Retorna um Array dos objetos de candidatos.

Exemplo de resposta

[
 {
    "id": 105599,
    "city": "Fortaleza - CE",
    "experience": "0-1 years",
    "technologies": [
      {
        "name": "Kotlin",
        "is_main_tech": true
      },
      {
        "name": "Java",
        "is_main_tech": false
      },
      {
        "name": "Java (Android)",
        "is_main_tech": false
      },
      {
        "name": "Python",
        "is_main_tech": false
      },
      {
        "name": "Flask",
        "is_main_tech": false
      },
      {
        "name": "Django",
        "is_main_tech": false
      },
      {
        "name": "Flutter",
        "is_main_tech": true
      }
    ]
  },
  {...},
  {...}
]
POST: /candidates

Função

Criar um novo candidato;

Requisição

Body

{
	"city": "Fortaleza - CE",
    "experience": "0-1 years",
    "technologies": [
      {
        "name": "React",
        "is_main_tech": true
      }
    ]
}

URL de Requisição

https://job-match-api.herokuapp.com/candidates

Autora