Projeto de avaliação técnica para fazer assíncrono em casa.
Para o desenvolvimento do projeto temos que fazer um sistema para uma empresa cujo domínio pertence ao contexto de RH. Por ser um domínio muito grande vamos focar apenas no subdomínio de Recrutamento e Seleção (R&S).
O contexto de Recrutamento e Seleção é bem amplo, então vamos focar nos seguintes fluxos de negócio:
- Pessoas candidatas conseguirem criar uma conta nova
- Criar novas vagas
- Publicar vagas já criadas
- Pessoas candidatas cadastradas se aplicarem em vagas publicadas
- Listar todas as vagas com suas aplicações e informações sobre a mesma
Podemos representar tais fluxos à seguir:
Todas as requisições serão prefixadas com o seguinte endereço: http://localhost:8080/api/v1
.
Operações realizadas pela pessoa candidata.
Descrição | Verbo | Endereço | Body |
---|---|---|---|
Criar uma nova conta | POST |
/accounts |
{ name: String, email: String, password: String } |
Se aplica para uma vaga existente | POST |
/applications |
{ accountId: Number, jobId: Number } |
Operações realizadas pela pessoa entrevistadora.
Descrição | Verbo | Endereço | Body |
---|---|---|---|
Visualiza aplicações nas vagas | GET |
/applications?jobId={jobId} |
Operações realizadas pela pessoa recrutadora.
Descrição | Verbo | Endereço | Body |
---|---|---|---|
Publicar uma vaga existente | POST |
/jobs/{jobId}:publish |
|
Criar uma vaga nova | POST |
/jobs |
{ name: String } |
Lista todas as vagas | GET |
/jobs |
|
Atualiza uma vaga | PUT |
/jobs/{jobId} |
{ name: String } |
Caso a pessoa utilize o software Insomnia, ela pode utilizar esse arquivo para importar as requisições já montadas e definidas.
Para que você não precise desenvolver e criar a aplicação web, vamos disponibilizá-la (você precisa baixá-la e subí-la local) onde para cada operação de negócio haverá um fluxo à ser executado.
O retorno deve ser feito através do Github, você pode criar um repositório com o resultado final e compartilhar o link com a gente para que durante a próxima etapa podemos falar sobre o mesmo.