A simple Weather app built with React Native, Expo, and Redux for state management. This project was created to learn and explore modern tools for building mobile applications.
- Dynamic Search: Users can search for weather data by entering a city name.
- Real-Time Data: Fetches current weather conditions, including temperature, humidity, wind speed, visibility, and more.
- Error Handling: Robust error handling ensures a smooth user experience.
- Light & Dark Mode: Supports both themes for a seamless experience.
- Responsive Design: Works flawlessly across iOS and Android devices.
- State Management: Uses Redux for efficient state management.
- Navigation: Built with React Navigation for smooth transitions between screens.
- EAS Configured: Set up with Expo Application Services (EAS) for easy builds and deployments.
- React Native: For building cross-platform mobile apps.
- Expo: For rapid development and testing.
- Redux: For effective and reliable state management.
- TypeScript: For type-safe code.
- React Native Paper: For a polished and customizable UI.
- React Native Size Matters: For handling responsiveness.
- Node.js (v16 or higher)
- Expo CLI (install globally using
npm install -g expo-cli) - Git
-
Clone the repository:
git clone https://github.com/theharisamjad/WeatherWorld.gitcd WeatherWorld -
Install dependencies:
yarn install -
Set up environment variables: Create a .env file in the root directory. Add your WeatherAPI key:
WEATHER_API_KEY=your_api_key_here -
Start the development server:
yarn start -
Open the app on your device: Scan the QR code with the Expo Go app (available on iOS and Android). Alternatively, run on an emulator
yarn androidor simulatoryarn ios -
To build the app for iOS or Android, use EAS:
eas build --platform androidoreas build --platform ios
Contributions are welcome! If you'd like to contribute, please follow these steps:
- Fork the repository:
git clone https://github.com/theharisamjad/WeatherWorld.gitcd WeatherWorld - Create a new branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/your-feature - Open a pull request.
- Expo for the amazing development tools.
- Redux for effective state management.
- React Native Paper for the beautiful UI components
- React Native Size Matters for handling responsiveness.
- WeatherAPI.com for providing the weather data.
Distributed under the MIT License. See LICENSE for more information.
Made with ❤️ by Haris Amjad

