demo.mp4
📝 Contents
- Introduction
- Technology Stack
- App Features
- Directory Structure
- How to Run
- API Key Management
- Contribution Guidelines
- Get in Touch
The WeatherWorld Mobile App is a versatile, cross-platform application that delivers real-time weather updates and detailed forecasts for locations across the globe, powered by the OpenWeatherMap API.
- Flutter: The primary SDK used for crafting the application.
- Dart: The programming language behind the app.
- Provider: State management solution to handle app state efficiently.
- HTTP: Utilized for making network requests to fetch weather data.
- Live Weather Data: Instantly view current weather conditions.
- Forecasting: Access both hourly and daily weather forecasts.
- Favorites: Save your favorite locations for quick access.
- Detailed Weather Metrics: Includes details like wind speed, humidity, and more.
/android
and/ios
: Directories containing platform-specific configurations and native code./lib
: Contains the main application logic and UI components.main.dart
: The app’s entry point.homePage.dart
: The primary screen displaying weather data.detailPage.dart
: Displays detailed weather information for a selected location.database_helper.dart
: Manages local database operations for storing favorite locations.dataset.dart
: Handles data models and the core business logic.extraWeather.dart
: Additional utilities for processing weather data.favoriteCitiesScreen.dart
: Manages and displays the user’s saved favorite cities.unit_provider.dart
: Provides unit conversion functionalities throughout the app.
/assets
: Directory for images and other static assets./test
: Contains automated tests written in Dart to ensure the app’s stability.
-
Clone the repository:
git clone https://github.com/OKihichak/weather_world_mobile_app.git cd weather-world_mobile-app
-
Install the required dependencies:
flutter pub get
-
Launch the app:
flutter run
To maintain security, ensure that your API keys are stored in a .env
file and that this file is listed in your .gitignore
to prevent it from being tracked by version control.
Interested in contributing to the project? Here’s how you can get started:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeatureName
- Commit your changes:
git commit -m 'Add YourFeatureName'
- Push to the branch:
git push origin feature/YourFeatureName
- Open a pull request to discuss and merge your changes.
- Email: [email protected]
- GitHub: Oleh Kihichak