A sophisticated Flutter-based weather application designed to provide users with real-time weather information by city name. Leveraging the Bloc pattern for robust state management, the app seamlessly integrates with a weather API to deliver accurate and up-to-date weather data.
- City-Based Weather Search: Users can effortlessly search for weather information by entering a city name.
- Error Handling: Robust error handling ensures a smooth user experience, even in the event of failed API requests.
- Programming Language: Dart
- Frameworks: Flutter
- State Management: Bloc
The project is organized to ensure clarity and maintainability:
lib/
├── cubits/ # Bloc cubits for state management
│ └── get_weather_cubit/
│ ├── get_weather_cubit.dart
│ └── get_weather_states.dart
├── models/ # Data models
│ └── weather_model.dart
├── screens/ # UI screens
│ ├── no_weather_screen.dart
│ └── search_screen.dart
└── main.dart # Application entry point
Before you begin, ensure you have the following installed:
- Flutter SDK: Install Flutter
- Dart SDK: Included with Flutter
- Android Studio: Download Android Studio
Follow these steps to set up the project locally:
-
Clone the repository:
git clone https://github.com/yourusername/weather_app.git cd weather_app -
Install dependencies:
flutter pub get
-
Run the app:
flutter run
- Launch the application on your device or emulator.
- Enter the desired city name in the search field.
- View the current weather conditions for the specified city.
We welcome contributions from the community! To contribute, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/YourFeature). - Open a pull request.
Please ensure your code adheres to our coding standards and includes appropriate documentation.
This project is licensed under the MIT License. For more details, see the LICENSE file.