A idéia desse desafio é entender a capacidade do candidato de resolver problemas de forma simples, criando um CRUD.
Não temos qualquer interesse em comercializar ou aproveitar de alguma forma o código escrito para esse desafio.
Nossa cultura é focada em resolver problemas de maneira rápida e com a melhor abordagem possivel. Buscamos pessoas que tenham confiança em si e estão dispostas a errar rápido e aprender com os erros.
Leia com atenção todo o conteúdo abaixo sinta-se livre para entrar em contato conosco em caso de dúvidas. æ
O Github é uma rede social de programadores que possui uma funcionalidade
interessante que permite curtir o repositório alheio. Trata-se de um botão
escrito Star encontrado na página de cada repositório. Rick é um usuário ativo
do Github, que está sempre buscando novos projetos e curtindo aqueles que são
interessantes. Ele gostaria de poder adicionar um label ou tag para marcar o
repositório de modo que ele possa filtrar. Por exemplo, ele encontrou um
repositório chamado react e gostaria de adicionar as tags javascript e
frontend. Como o Github não possui essa funcionalidade, Rick precisa de um
sistema que consiga ajudá-lo com essa tarefa de um modo simples.
O desafio consiste em desenvolver uma aplicação web que obtém todos os repositórios que um determinado usuário "curtiu". Uma vez obtidos os repositórios a applicação deve permitir o gerenciamento de tags (adicionar, editar e remover). Deve ser possivel filtrar os repositórios do usuário pelas tags. O sistema deve ter um mecanismo de sugestão de tags. Os critérios para sugestão de tags são de livre escolha do desafiante (linguagem do repositório, tags atribuidas a outros repositórios, ontras informações disponibilizadas pelo GitHub, etc).
Requisitos:
Como usuário, eu quero fornecer meu username recuperar todos os repositórios que eu curti para depois conseguir adicionar minhas tags.
Como usuário, eu quero poder adicionar tags (labels) para cada repositório para eu poder efetuar uma busca por tag.
Como usuário, quero poder fornecer uma tag e obter os repositórios que possuem essa tag.
doc tanto repositórios com a tag docker quanto com a tag
documentation devem ser retornados)Como usuário, quero receber recomendações de tags para meu repositório.
Queremos avaliar sua capacidade em entregar um produto completo e com
documentação mínima suficiente para outros desenvolvedores conseguirem
contribuir com o projeto. É essencial que o README.md contenha as intruções
para configurar e rodar o projeto, bastando apenas um ctrl+c/ctrl+v no terminal
do Linux e do OSX para conseguir rodar a aplicação.
Outros pontos que vamos considerar na avaliação:
README.md descrevendo como configurar o projeto, contendo os
comandos que devem ser executados para rodar o software e os testes;Obs: Se você fez uso de algum Linter, envie o arquivo
de configuração junto com o projeto e descreva qual linter está sendo utilizado no
README do projeto.
Qualquer dúvida pode entrar em contato conosco. Boa sorte!