Skip to content

Latest commit

 

History

History
59 lines (35 loc) · 3.42 KB

README.md

File metadata and controls

59 lines (35 loc) · 3.42 KB

Desafio Front-end do Agenda Edu

Introdução

Estamos muito felizes que você tenha chegado nessa etapa do nosso processo seletivo! Agora queremos conhecer um pouco do seu código, para isso propomos um desafio.

Desafio

Você deve desenvolver um app em React Native (usando Expo), que mostre uma listagem de eventos escolares fornecidas pela API, seguindo as especificações de layout do projeto.

Login Screen Events Screen Side Menu Screen Detail Screen
tela-01.gif tela-02.gif tela-03.gif tela-04.gif

A lista de eventos deve ser organizada por data de acordo com a especificação da tela, ordenada pelas atividades mais recentes e com paginação (modelo de paginação definido na documentação da api).

Ao clicar em um evento da lista, mostrar a tela de detalhes do evento como mostra a especificação da tela.

O app deve conter também uma tela de login para controle de acesso como mostra a especificação da tela.

Requisitos

  • Deve ser em React Native
  • Sinta-se avontade para usar qualquer framework de controle de estado desejado
  • Necessário o uso de rotas
  • Publicar usando o Expo
  • Testes unitários. Pode utilizar qualquer framework de teste, e.g: Jest ou Mocha.js.

Requisitos bônus

Esses requisitos não são obrigatórios, mas serão levados em consideração como pontos extras no momento da avaliação.

  • Montar uma estrutura de CI para automatiazar testes no github (Ex: CircleCI)
  • Implementar uma busca server-side dos eventos na listagem (a request de pesquisa deve ser disparada utilizando o processo de controle de fluxo Debounce​ com um limite de tempo de 500ms)
  • Relatório de performance (e. g: Lighthouse)
  • Utilizar Styled Components.
  • Realizar o tratamento de falha nas requests da api (Ex: Senha incorreta) com feedback para o usuário

Critérios de avaliação

  • Boa qualidade de UI/UX seguindo os requisitos fornecidos AQUI
  • Organização do projeto: Avalia a estrutura do projeto, documentação e uso de controle de versão;
  • Inovação tecnológica: Avalia o uso de tecnologias mais recentes, desde que estáveis;
  • Coerência: Avalia se os requisitos foram atendidos;
  • Boas práticas: Avalia se o projeto segue boas práticas de desenvolvimento, incluindo segurança e otimização;
  • Controle de Qualidade: Avalia se o projeto possui qualidade assegurada por testes automatizados (por exemplo Jest ou Mocha.js).

Processo de submissão

O desafio deve ser entregue pelo GitHub. A aplicação deve estar hospedada no Expo com um QRCode para avaliação. As URLs devem ser enviadas por email.

Qualquer dúvida em relação ao desafio, responderemos por e-mail.

Bom trabalho!