A Café e Pixel é uma empresa que oferece diversos serviços, desde consultoria de software ao desenvolvimento completo de uma aplicação robusta.
Nossos desenvolvedores buscam estar sempre em aprendizado contínuo, pois amam o que fazem. Nossos processos de desenvolvimento ágil e nossa busca por melhores práticas de desenvolvimento nos proporcionam um ótimo ambiente para profissionais que gostam de criar softwares de qualidade em boa companhia.
Estamos sempre procurando por profissionais que gostam de otimizar seu trabalho, por isso damos preferência a times pequenos com profissionais qualificados, ao invés de times grandes com profissionais medianos.
Este repositório contém um problema usado para avaliar as skills do candidato. É importante ressaltar que resolver o desafio de forma satisfatória é apenas parte do que será avaliado. Nós consideramos disciplinas como documentação, testing, linha do tempo dos commits, tempo de entrega e melhores práticas de design e desenvolvimento.
- Leia cuidadosamente as especificações. Se não compreender algo, sinta-se livre para falar com a gente;
- Observe as recomendações e materiais de referência;
- Apreciamos a simplicidade, então defina bem o setup do projeto para nos auxiliar na sua avaliação;
- Se possível faça testes, eles fazem do mundo um lugar melhor :D
- Faça um fork desse repositório no github e adicione permissão de leitura para todos os usuários abaixo:
- Siga as instruções do README.md (este arquivo);
- Faça o deploy do seu projeto em algum serviço de hospedagem (Heroku, Firebase, Netlify, etc);
- Ao finalizar uma das entregas, abra um pull request nesse repositório para cada etapa das entregas com o título da mesma;
- Códigos plagiados serão desclassificados;
- Não se preocupe com o PR sendo rejeitado, usaremos ele como referência, mas não podemos fazer o merge para não comprometer a resposta de outros candidatos.
O projeto deverá ser entregue até 20:00 de domingo (06/09).
Você deve implementar um CRUD básico de uma loja de livros.
O principal objetivo desse desafio é disponibilizar uma REST API atendendo aos seguintes requerimentos:
- O usuário pode adicionar um livro
- O usuário pode listar os livros cadastrados
- O usuário pode deletar os livros cadastrados
- O usuário pode buscar os livros pelo título
Livro
- Título
- Autor
- Sinopse
- Preço
- Imagem de capa
- Avaliação
- Deixar a aplicação disponível online (Heroku, Firebase, ou outro de sua preferência);
- A aplicação deve ser escrita usando
nodejs
; - Escreva no readme do seu projeto uma breve documentação de como rodá-lo localmente;
- Forneça a documentação da sua API;
- O sistema de autenticação é opcional, mas caso seja feito, insira os detalhes de login no readme;
- A API deve retornar um json com os dados solicitados, bem como as respostas de status de sucesso e erro, caso houverem;
- Todos os commits deverão estar em inglês;
- O nome das variáveis internas, funções e métodos da API deve ser escritas em inglês.
- Escreva testes;
- Use boas práticas de programação;
- Utilize os princípios SOLID;
- Não se esqueça de ler com atenção aos requerimentos, cada detalhe conta 😉.
Caso você esteja concorrendo à vaga de fullstack, faça a integração da sua API com o desafio de frontend na listagem de livros.
O fluxo de adicionar o livro ao carrinho será controlado localmente.