
Teste Técnico Frontend
South System
Somos uma empresa nova, focada em desafios e resultados.
Sobre o Teste
No Desafio Técnico Front-End, sua tarefa é criar um sistema para buscar livros disponíveis na API do Google Books, permitindo ao usuário digitar palavras para ver uma lista de livros relacionados, clicar em um livro para ver detalhes da descrição, marcar livros como favoritos, usar paginação, garantir acessibilidade em dispositivos móveis e realizar testes unitários. Você pode escolher entre frameworks JavaScript como Angular, React ou Vue, e utilizar ferramentas como Jasmine, Karma, Protractor, Mocha para testes, além de frameworks de layout como Bootstrap, Foundation ou Semantic, e automatizadores de tarefas como Gulp ou Webpack. A entrega deve ser feita em um repositório Git (GitHub ou Bitbucket) e a avaliação considerará o entendimento dos requisitos, afinidade com a ferramenta escolhida, testes unitários, estrutura de arquivos, padrão de escrita do código e boas práticas.
Instruções do Teste
Desafio Técnico Front-End
- Criar um sistema para buscar livros disponíveis na API do Google Books
Requisitos funcionais
- Como usuário gostaria de digitar algumas palavras e ver uma lista de livros que tenhas relação com a minha busca.
- Como usuário gostaria de clicar em um destes livros para ver em detalhes as descrições do livro
- Como usuário gostaria de marcar o livro como favorito para, futuramente filtrá-los por isso
- Como usuário eu devo utilizar um paginador para acessar o restante dos resultadoss
- Como usuário eu gostaria de abrir o site em um dispositivo móvel sem comprometer a navegação do site.
- Como desenvolvedor gostara de realizar testes unitário para garantir a integridade do que está sendo desenvolvido
Requisitos não funcionais
- Você pode utilizar qualquer framework JavaScript que quiser (Indicamos: Angular, React ou Vue)
- Tente reutilizar o máximo possível de código
- Para teste utilize o a ferramenta que desejar, como: Jasmine, Karma, Protrator, Mocha.
- Layout pode ser utilizado frameworks como Bootstrap, Foundation, Semantic, etc.
- Utilize automatizadores de tarefa como Gulp, Webpack, etc.
- Realize commits (git) constantes de acordo coma progressão das atividades.
Links relacionados
- API Google Books - https://developers.google.com/books/
- Angular - https://angular.io/
- React - https://reactjs.org/
- Vue - https://vuejs.org/
- Jasmine - https://jasmine.github.io/
- Mocha - https://mochajs.org/
- Gulp - https://gulpjs.com/
- Webpack - https://webpack.js.org/
- GitHub - https://github.com/
- Bitbucket - bitbucket.org
Entrega
- Entrega deve ser feito em um repositório Git, pode ser no github ou no Bitbucket
Critérios de avaliação
- Entendimento dos requisitos- Afinidade com a ferramenta utilizada- Testes unitários- Estrutura de arquivos- Padrão de escrita do código- Utilização de boas práticas