- Faça um fork deste repositório;
- Siga as especificações;
- Implemente o layout disponível;
- Após terminar seu teste submeta um pull request e aguarde seu feedback.
O desafio consiste em desenvolver um aplicativo de 4 telas.
As telas que contem chamadas a api devem estar preparadas para tratar estados de erro (sem internet), carregamento (chamada a api em andamento) e lista vazia (quando o resultado de um filtro não contem itens).
Atentar para o comportamento dos elementos do layout, como: botão de favorito, classificação em estrelas, rentabilidade, etc (encontram-se no XD).
- A tela inicial contem uma lista que permite o usuário navegar para as três telas: Ações, Fundos e Previdências.
- A lista de "ações" deve ser carregada através de uma chamada a api.
- A lista de "ações" deve obedecer a seguinte prioridade:
- Favoritadas deve aparecer primeiro
- Ordem alfabética
- O usuário pode favoritar/desfavoritar uma "ação" tocando no ícone do coração(o coração preenchido indica favoritado e o coração vazado indica desfavoritado).
- A lista de "ações" inicia com todos as "ações" desfavoritadas.
- A lista de "fundos" deve ser carregada através de uma chamada a api.
- A lista de "fundos" deve estar em ordem alfabética.
- Os estados do fundo são:
- 0: Comum
- 1: Novo
- 2: Fechado
- Um "fundo" com o estado de "comum" deve apresentar o layout básico conforme layout.
- Um "fundo" com o estado de "novo" deve apresentar o layout básico com a adição do label "novo" conforme layout.
- Um "fundo" com o estado de "fechado" tem um layout particular alem do label "fechado" conforme layout.
- A lista de "previdências" deve ser carregada através de uma chamada a api.
- A lista de "previdências" deve estar em ordem alfabética.
- A tela contem um filtro de múltipla escolha que atua sobre a lista de "previdências". Quando selecionado os filtros:
- "SEM TAXA": inclui as previdências com taxa igual a zero.
- "R$100,00": inclui as previdências com valor mínimo igual a cem reais.
- "D+1": inclui as previdências com resgate igual a um.
- Criar um passo a passo de como rodar o app - Sugestão;
- Desenvolver o app utilizando
React Native
- Capacidade de abstração
- Simplicidade da solução
- Componentização
- Princípio da reutilização
- Clean Code
- Utilizar TypeScript
- Realizar testes unitários
- O layout em formato Adobe XD consta no repositório em /material ou através desse link;
- Imagens e Ícones devem ser exportados do Adobe XD (Aalho: CTRL + E / CMD + E)
Para iniciar o teste, faça um fork deste repositório, crie uma branch com o seu nome e depois envie-nos o pull request. Se você apenas clonar o repositório não vai conseguir fazer push e depois vai ser mais complicado fazer o pull request.
Sucesso!