Olá, bem vindo(a) ao desafio técnico do Proesc.com!
Nesse projeto você vai trabalhar em um app chamado "React Native Basic Implementations"! O objetivo deste desafio é ampliar as funcionalidades do app modelo, aplicando conceitos importantes e boas práticas em React Native.
Abaixo estão as tarefas para implementação:
Adicione uma tela dedicada para configurar preferências do usuário, com as seguintes opções:
- Alterar idioma: Opção para selecionar o idioma do app (Português ou inglês).
- Habilitar/desabilitar dark mode: Um controle manual para alternar entre os temas claro e escuro.
Escolha 2 novas funcionalidades abaixo e adicione na listagem de exemplos do aplicativo. Ao clicar na opção, deve aparecer a funcionalidade implementada para exemplificar seu funcionamento.
Implemente um exemplo de notificação no app, que pode ser:
- Uma notificação push para exibir mensagens externas simuladas.
- Ou um toast para feedback instantâneo de ações do usuário, como sucesso ou erro.
Implemente animações baseadas em sensores:
- Movimente elementos do app com base na inclinação do dispositivo, utilizando o acelerômetro ou giroscópio.
Implemente animações baseadas no teclado:
- Ajuste dinamicamente a posição de campos de texto ou botões para melhorar a experiência ao interagir com o teclado.
Adicione um feedback tátil ao app utilizando o Haptic Feedback (vibração) para:
- Confirmar uma ação importante.
Adicione um carrossel interativo que permite navegar por imagens:
- Inclua animações suaves entre os itens.
- Configure a navegação automática e a interação por toque.
Como tarefa extra, você pode implementar testes automatizados para uma das funcionalidades existentes no app. Para isso, você pode utilizar alguma dessas bibliotecas:
- Jest ou React Native Testing Library para teste unitário
- Maestro para teste end to end
- O app deve estar funcional e refletir as melhorias implementadas.
- Documente no README.md o que foi adicionado e como cada funcionalidade funciona.
- Será avaliada a funcionalidade do app, organização do código, experiência do usuário, boas práticas de desenvolvimento e clareza na documentação.
Para entregar sua solução, acesse o repositório https://github.com/lumamontes/react-native-basic-implementations e crie uma cópia do repositório utilizando o template (botão Use this template).
Deixe seu repositório privado e libere permissão para os e-mails: [email protected] e [email protected]
Assim que finalizar, envie o link do repositório no e-mail recebido.
Em caso de dúvida, não hesite em nos contatar através do e-mail recebido ou para [email protected] :)