Repositório com o desafio técnico da Kompa Saúde para a posição de React Native.
Repositório com as instruções do desafio: https://github.com/assinasaude/prontuario-mobile
Abaixo está listado o motivo das escolhas sobre as bibliotecas utilizadas, assim como instalar e como rodas os testes.
- Clone o repositório.
git clone https://github.com/eduduardo/desafio-kompa-saude.git
- Rode:
yarn install
ounpm install
- Para rodar o projeto no android:
react-native run-android
- Para rodar o projeto no iOS:
react-native run-ios
- Depois do
yarn install
- Rode:
cd ios/ && pod install
- Abra
ios/KompaSaude.xcworkspace
no XCODE (version >= 12.4) - Faça o build do projeto com o target de simulador ou device físico
- Rode no terminal
yarn start
para inicial o servidor de bundle.
- Depois do
yarn install
- Rode
cd android/ && sh gradlew installDebug
- Rode no terminal
yarn start
para inicial o servidor de bundle.
O projeto possue testes unitários e de interação do usuário com as funcionalidades requisitadas.
- Rode:
yarn test
ounpm run test
- react-native - utilizado em sua versão mais recente.
- react-navigation - utilizado para o roteamento, facilitando bastante na criação do modal do requisito
- redux e react-redux - gerenciamento do estado global da aplicação.
- redux-thunk - utilizado para disparar as ações de forma assíncrona.
- redux-persist - utilizado para persistir os dados de favoritos
- @react-native-async-storage - utilizado pelo redux-persist para persistir os dados como AsyncStorage.
- axios - utilizado para cuidar melhor dos retornos das requests json vindas da API.
- react-native-vector-icons - utilizado para renderizar alguns ícones da interface
Nota sobre os commits:
Utilizei o conceito de Semantic Commit Messages para organizar os commits, acredito que um repositório deve contar a história sobre o que foi modificado ;)
- jest - utilizado para a base dos testes.
- @testing-library/react-native - utilizado para renderizar e manipular como usuário os components e pages do app.
- redux-mock-store - utilizado para mockar o redux
- axios-mock-adapter - utilizado para mockar as requests para a API pelo axios.