An app that uses the device location to fetch the weather info using the Open Weather API and displays it on screen. The app is made with React Native, Styled-Components and Redux Toolkit.
The app uses the third party library react-native-get-location (https://www.npmjs.com/package/react-native-get-location) to get the device location and then stores it to the deviceLocationSlice.
Redux-Toolkit is the most recent and less verbose version of the Redux library. It requires much less boilerplate code to configure the store and to write the slices. Our store contains only 3 slices (features). It even contains a loading slice to determine when to display an activity indicator for letting the user know when the app is fetching data from the API. It also disables the "Update Weather" button.
The Home screen displays all the information presented by the app. In total, there are 2 view components and 1 button component that the screen should be able to know when to display. It uses the timestamp fetched from the api call to determine if the weather data was stored to the redux object and when to show either the data or the welcome view.
The app makes a call to only one of OpenWeather's API endoints, the current weather endpoint (https://openweathermap.org/current). It displays simple weather info like the current temperature, min and max temperatures that day, the sunrise and sunset times as well as wind speed. It also shows the current weather condition and an icon provided by Open Weather.