ATENÇÃO: Antes de começar, se cadastre na vaga via Recruiterbox =]
O desafio proposto consiste no desenvolvimento de uma landing page capaz de gerar um link encurtado funcional a partir do input de uma URL. Nele serão testados as habilidades e qualidade de código de um desenvolvedor ao transformar um layout em um protótipo funcional com back-end e front-end bem desacoplados.
O encurtador de URL deverá ser implementado no back-end juntamente com um validador capaz de indicar se o link gerado está funcionando. A comunicação entre o back-end e o front-end deverá forma de uma RESTful API, onde neste último somente serão mostrados os resultados.
É esperado, através da implementação, que seja possível além de encurtar a URL que, ao acessá-la, o número de acessos incremente-se.
Todas informações devem ser salvas em um banco de dados.
- Forke esse repositório e faça o desafio numa branch com o seu nome (exemplo:
nome-sobrenome
); - Boa parte do seu objetivo é transformar esse mockup em um protótipo funcional HTML/CSS/JS;
- No seu projeto, crie um diretório chamado
project
. Todos os arquivos que você criar devem estar dentro desta pasta; - Assim que concluir o seu desafio, abra um pull request com suas alterações.
- O front-end deverá ser desenvolvido utilizando o framework React;
- O back-end deverá ser desenvolvido utilizando o framework Node.js.
- Dentro da pasta Layout possui um arquivo psd e jpg, use-os como referência para desenvolver o protótipo;
- Use as cores definidas no guideline;
- As fontes utilizadas são: Roboto e Roboto Slab;
- Caso necessário, na pasta Assets possui as imagens já exportadas.
- Seu HTML deverá ser o mais semântico possível (faça bom uso das tags HTML5);
- No JavaScript, evite poluir o escopo global. O uso ou não de bibliotecas também será avaliado.
- Boa documentação (como rodar o projeto, como foi organizado...);
- Uso de pré-processadores CSS (Sass, Less, Stylus);
- Adaptar a página para dispositivos móveis (torná-la responsiva);
- Utilizar alguma automatização (Grunt, Gulp, NPM Scripts, webpack);
- Criar essa interação ao submeter um novo link;
- Consumir esse JSON no back-end para a seção TOP 5 como o estado inicial da aplicação;
Em caso de dúvidas, abra uma issue.
Boa sorte =]