A.
ForecastWare
Side-project

ForecastWare

πŸ’₯ Weather forecast cross-platform mobile application based on React Native with Expo Managed workflow πŸ’₯

react-nativeexpotask-manager

Features

  • Device's current location πŸ“Œ

  • Location tracker using device's background location service πŸ“Œ

  • Temperature check on every 10000 meters location change πŸ‘Ύ

  • Notification on temperature change 🌌

  • Background fetch job that runs after every 15 minutes to update the current location weather and display the notification ⏲️

  • Task manager to handle Background Fetch jobs πŸ₯·

  • SQLite to store multiple locations data πŸͺ

  • Mobile battery level monitor. The app will display a pop-up and close if the battery level goes down to 20% πŸ”‹

  • Screenshot taker icon on different screens πŸ“Έ

  • Weather map using Google Maps with different layouts for precipitation, clouds, pressure, temperature, and wind πŸ—ΊοΈ

  • Barometer service to display the device's surrounding atmospheric pressure 🌑️

  • In app web browser using expo-web for external links πŸ•ΈοΈ

  • Sentry integration for crash report and performance monitoring πŸ”—

  • Snack integration for testing on different platforms πŸ”—

  • Search locations feature both for map and weather πŸ”

  • Combined custom theme using React Native Paper and React Native Navigation πŸ”₯

  • Dark mode feature using Material Design practices πŸ”₯

  • The design of this app is inspired by Android Weather Application πŸ“±

  • Enabling the app theme color by user's mobile theme preference 🀳

  • Store user preferences in AsyncStorage 🏬

  • Temperature unit change feature; current support for Celsius, Fahrenheit, and Kelvin. πŸ”₯

  • Custom hooks 😻

  • Custom lodash-like utility functions 😻

  • Custom animation using Animatable library 😻

  • Custom expo configuration for different platoforms πŸ”Œ

  • For state management, this app is using React Context API 🧰

  • The location data is being fetched from the Open Weather API 🧰

Tech-Stack

Related projects