Olá, e obrigado por aceitar realizar o desafio técnico do nosso processo seletivo! (:
O desafio consiste na implementação de uma API de folha de ponto, descrita em api.yaml. Todas as informações necessárias sobre a construção da API estão contidas nesse arquivo.
O desafio será testado usando Docker. Certifique-se de que todo o ambiente necessário para a execução do projeto esteja descrito de maneira que seja possível testar o projeto apenas criando um container.
A API pode ser visualizada utilizando o Swagger Editor com o arquivo yaml fornecido.
Para facilitar a avaliação do desafio, pedimos que ele seja realizado em .NET, Java ou NodeJS.
Os três prontos principais são os seguintes:
- Ambiente: Como mencionado acima, é esperado que seja possível ter um ambiente com o projeto executando de maneira fácil e rápida. Qualquer instrução necessária para isso deve ser fornecida pelo desenvolvedor. Esse será o primeiro ponto a ser avaliado.
- API: O ponto principal do teste é a implementação da API, exatamente como descrita no arquivo api.yaml. Os diferentes erros estão fornecidos como exemplos na documentação da API. Nenhum dos cenários descritos como erro na documentação deve ser permitido pelo serviço.
- Testes: É esperado que, ao mínimo, sejam criados testes unitários para as funcionalidades implementadas no desafio. Além disso, naturalmente, o código do desafio será avaliado.
Durante a implementação, encontrei um cenário que não está 100% claro para mim como deve ser implementado. Como devo proceder?
Ao encontrar alguma situação além do que está descrito na documentação da API, faça da maneira que, na sua visão, faz mais sentido para o contexto de uma API de controle de folha de ponto.
Não há nenhum outro requisito fixo além dos especificados na documentação da API e nesse documento. Porém, pedimos que, dentro do prazo estabelecido, o desafio seja entregue da maneira mais completa possível. Será avaliado o que o candidato considera ser essencial para a entrega do projeto.
Envie-nos por favor um link com o repositório para que possamos dar uma olhada no código. 😉