Switch Dreams Challenge

O desafio proposto visa avaliar suas habilidades com o React Native, sendo isso parte do processo seletivo para vaga de desenvolvedor frontend da Switch Dreams.

Esperamos que você tenha uma boa noção nos seguintes tópicos:

  • HTTP e estrutura básica da web
  • Linguagem de programação Javascript
  • Framework React Native
  • Ferramenta Expo
  • Consumo de API

Além disso é sempre interessante estar atento aos padrões usuais de qualidade de código.

Problema

A academia Fit Dreams possui uma grande versatilidade de aulas em seu cronograma, sendo que as atividades variam a cada mês. A Fit Dreams acaba de te contratar para desenvolver o frontend de um sistema que organizará a disponibilidade de cada aula.

As informações das aulas estão disponíveis na API informada via email, assim como seus respectivos endpoints. A partir da API fornecida, deve-se desenvolver em React Native as telas:

  • Cadastro de usuário
  • Login
  • Index de aulas disponíveis
  • Show da aula
  • Edit da aula

Cada aula contém as informações:

  • Nome da aula
  • Nome do professor
  • Horário
  • Dias da semana
  • Imagem de capa da aula
  • Descrição

API

Para obter as informações que utilizará no aplicativo utilize a API fornecida:

API: https://gym.switchdreams.com.br/

📝 Docs

Requisitos

Para iniciar o desafio, crie um fork a partir do presente repositório e inicie seu projeto react native nele. Altere o readme com todas as informações que julgar pertinente para o desafio. Para entregar a sua implementação você deve criar uma PR e inserir no readme um link de um vídeo demonstrativo de todas as telas e do fluxo criado para o projeto.

Avaliação

Avaliaremos as seguintes habilidades

  • Nível de conhecimento em Javascript
  • Nível de conhecimento em React Native
  • Nível de conhecimento em consumo de APIs
  • Qualidade do código
  • Utilização do github

Entrega

Deve-se fazer uma Publish através do Expo para que o aplicativo seja mais facilmente testado, além de deixar o link no readme de um vídeo demonstrando o aplicativo.

Diferenciais

  • Testes automatizados (para os testes recomenda-se o uso do Jest)
  • Linter
  • Prototipação das telas no Figma

Observações

Ao enviar o desafio você declara que a solução implementada foi 100% feita por você, sem violar nenhuma licença de software de terceiros.