Olá!
Estamos empolgados que você se interessou em fazer parte da equipe Tagview! Montamos um desafio baseado em um problema semelhante aos que resolvemos no nosso dia a dia para conhecer um pouco mais sobre você.
Taggram é um site onde os usuários conseguem interagir com comentários de uma foto.
A sua implementação deve se basear no layout, obter os dados através da API e seguir os requisitos.
Em /base você encontra um esqueleto da aplicação com alguns exemplos, você pode aproveitar esses arquivos para implementar a sua solução.
Você pode visualizar o layout clicando aqui. Ao se cadastrar no Figma você terá acesso às medidas, espaçamentos, cores e poderá baixar os ícones utilizados no layout. Também disponibilizamos um protótipo que simula o funcionamento da página.
Desenvolvemos uma API REST que deve ser utilizada para obter os dados dos usuários, publicações e comentários. Ela possui três endpoints, conheça cada um deles na documentação. Use essa API à vontade durante o desenvolvimento.
- A aplicação deve exibir:
- Os dados do usuário
- Os dados da publicação
- A lista de comentários da publicação
- A aplicação deve exibir a lista de publicações relacionadas ("mais publicações")
- Você deve exibir na lista somente as publicações relacionadas que possuírem pelo menos 3 comentários
- A aplicação deve permitir:
- Que o usuário curta um comentário, e atualizar o contador de curtidas
- Que o usuário remova a sua curtida de um comentário, e atualizar o contador de curtidas
- Quando as requisições para curtir ou remover curtida de um comentário falharem, exibir um alerta avisando o usuário que o
Não foi possível curtir/descurtir comentário, tente novamente
. Você pode usar oWindow.alert
ou outro elemento visual para exibir essa mensagem - Você pode continuar a implementação sem nenhum framework ou escolher entre ReactJS, AngularJS ou VueJS
- Você pode utilizar qualquer outra biblioteca que achar necessário (jQuery, por exemplo)
- As requisições para a API devem ser feitas client-side (no próprio navegador). Não queremos que você utilize JSP, ASP ou qualquer ferramenta server-side.
Envie o URL de um repositório git público por email para [email protected]
. Usamos bastante o GitHub e o GitLab.
Analisamos mais do que somente o resultado final então nos envie a sua solução mesmo se você encontrar problemas implementando algum detalhe.
- Capacidade de assimilar um conteúdo novo
- Organização
- Atenção aos requisitos
- Preocupação com a usabilidade (experiência do usuário)
- Empenho em entregar algo, mesmo que minimamente funcional
- Tratamento de erros
Caso tenha dúvidas, envie um e-mail para [email protected]
🧑💻