Através desse desafio, queremos conhecer suas habildades de desenvolvimento e principalmente como você resolve problemas.
Você pode enviar algum projeto próprio que você acredita que demonstre o seu nível técnico e a qualidade do seu código. Esse projeto precisa ser desenvolvido em React, utilizando ferramentas de compilação, testes unitários e um layout responsivo. Lembre-se que quanto mais código seu pudermos visualizar, melhor será para te avaliarmos. :)
O desafio consiste em construir uma aplicação React para que o usuário possa ver detalhes de vagas de emprego.
Sua aplicação deve conter:
- Servidor Node + Express com 2 rotas:
api/jobs
: Retornando uma lista de vagas de emprego;api/job/:id
: Retornando a vaga requisitada no parâmetro:id
;- As rotas devem consultar a seguinte API: lista de jobs;
- Aplicação React com 2 telas utilizando Material-UI;
- Tela inicial com uma listagem de vagas de emprego:
- Lista de cards das vagas retornadas ao requisitar a rota
api/jobs
; - Mostrar um mapa estático contendo um marker com o local da vaga - Maps Static API (Google);
- Lista de cards das vagas retornadas ao requisitar a rota
- Tela com detalhes da vaga clicada:
- Exibir detalhes sobre uma vaga ao requisitar a rota
api/job/:id
; - Exibir um botão que ao clicar, apresenta em um modal as datas disponíveis de entrevista;
- Exibir detalhes sobre uma vaga ao requisitar a rota
- Tela inicial com uma listagem de vagas de emprego:
Exemplo: Página de vagas da Emprego Ligado;
Todas as informações que serão exibidas ficam a seu critério. O layout precisa ser responsivo, de modo que a navegação seja agradável e fluida.
Bônus (não eliminatório):
- Testes unitários com alguma ferramenta como Jest;
- Redux;
- SSR com Next.js;
- Javascript ES6 com Babel;
- CSS3 e Pré-processadores como Stylus e SASS;
- ESLint e Prettier;
- Cache de assets.
Seu projeto deve ter um README com os passos necessários para:
- Rodar o projeto;
- Instalar as dependências;
- Rodar os testes automatizados (caso tenha).
- Commits estruturados;
- Documentação;
- Testes;
- Docker.
Sua capacidade de compreender um problema, desenhar uma solução e aplicá-la. Queremos ver como você resolve o problema proposto e suas habilidades com as tecnologias propostas. Avaliaremos a qualidade do seu código, reutilização de componentes e boas práticas.
Para nos enviar seu código, você pode:
- Fazer um fork desse repositório e nos mandar um pull request.
- Nos dar acesso ao seu repositório no github, bitbucket ou gitlab. Adicione o usuário
bonigauglitz
oumaiconpazin
. - Se precisar falar com a gente: engenharia@levee.com.br.