/mobile-qa-test

Este repositório contém o código de um aplicativo móvel utilizado para o teste de QA.

Primary LanguageTypeScript

Processo seletivo para QA Test

Olá 👋 e bem vindo!

Este repositório contém o código de um aplicativo móvel que foi utilizado para o teste de desenvolvedor móvel. Neste caso, vamos utlizar como código base a submissão de @ermessonlima. O teste foi baseado neste repo, mas o código é baseado neste repo.

Apresentação do aplicativo

De maneira resumida, é um aplicativo com previsão de tempo de cidades. Ele consome uma API externa, e tem algumas regrinhas para renderização na tela.

Abaixo, alguns vídeos demonstrando o funcionamento da aplicação:

Daytime - IOS

video1.mp4

Nighttime - IOS

video2.mp4

Daytime - ANDROID

video4.webm

Nighttime - ANDROID

video3.webm

Funcionalidades

  • Previsão do tempo: exibir temperatura atual, condições climáticas, chance de chuva, umidade do ar, velocidade do vento e outras informações.
  • Seleção de cidade: permitir que os usuários pesquisem e escolham a cidade de sua preferência para visualizar a previsão do tempo.
  • Animações meteorológicas: utilizar animações para representar visualmente as condições climáticas em tempo real, incluindo mudanças com base no horário do dia (como transições de dia para noite).
  • Previsão estendida do tempo: fornecer previsões de longo prazo para os próximos dias, com informações sobre temperaturas máximas e mínimas e chance de chuva.

Tech stack

Algumas libs utilizadas neste projeto: React Native, Expo, Axios, Moment, Styled Components, Zustand, Lottie React Native, React Native SVG, React Native Gesture Handler, React Native Async Storage, React Native Location, Husky, Commitlint, ESLint, Jest.

A API no backend utilizado foi: Api hgbrasil

Requirementos

  • Node.js
  • Yarn (ou NPM)
  • Expo CLI

Como executar o projeto

Para executar este projeto, você precisa seguir estas etapas:

  1. Instale o Node.js em seu computador a partir do site oficial: https://nodejs.org/

  2. Instale o gerenciador de pacotes Yarn (você também pode usar o NPM, que vem com o Node.js, se preferir) executando o seguinte comando:

npm install --global yarn
  1. Instale o Expo CLI globalmente usando o Yarn (ou NPM):
yarn global add expo-cli
  1. Clone este repositório para o seu computador:
git clone https://github.com/ermessonlima/mobile-weather-app.git
  1. Navegue até a pasta do projeto clonado e instale as dependências:
cd mobile-weather-app
yarn install
  1. Inicie o servidor de desenvolvimento do Expo:
npx expo start
  1. O Expo exibirá um código QR. Para visualizar o aplicativo em seu dispositivo móvel, instale o aplicativo Expo Go, disponível na App Store (iOS) ou no Google Play Store (Android). Depois de instalá-lo, abra o aplicativo e escaneie o código QR usando a câmera do seu telefone ou a função de escaneamento dentro do aplicativo Expo Go. Isso iniciará o aplicativo em seu dispositivo móvel, permitindo que você visualize e teste suas funcionalidades.

Não esqueça de configurar a variável de ambiente para executar o projeto. Você precisa criar um arquivo .env, e este arquivo deve conter:

REACT_APP_BASE_URL:https://api.hgbrasil.com/weather?key={my_key}

Instruções para o teste

Primeiro, tente executar o aplicativo e se familiarize com o código e o ambiente. Após isto, execute os testes. Você verá que neste repositório, já temos alguns testes de componentes, utlizando Jest.

Para o teste, queremos que você aplique seus conhecimentos e melhore os testes existentes utilizando storybook. E adicione outros testes.

  • Instalar storybook no projeto
  • Fazer teste de 5 componentes
  • Atualizar o README com instruções de instalação e execução dos testes
  • Fazer teste de tela (bônus)

Ficamos no aguardo do seu envio!

Se divirta no processo e boa sorte! 🍀