https://github.com/nitindavegit/weather-app
A modern Flutter weather app showing real-time weather, hourly forecasts, and extra details like humidity, wind, and pressure โ with a sleek Material 3 UI, dark theme, and pull-to-refresh support. Powered by OpenWeatherMap API.
https://github.com/nitindavegit/weather-app
dart flutter modern sleek weather weather-api
Last synced: about 2 months ago
JSON representation
A modern Flutter weather app showing real-time weather, hourly forecasts, and extra details like humidity, wind, and pressure โ with a sleek Material 3 UI, dark theme, and pull-to-refresh support. Powered by OpenWeatherMap API.
- Host: GitHub
- URL: https://github.com/nitindavegit/weather-app
- Owner: nitindavegit
- Created: 2025-06-24T07:00:12.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-24T07:13:33.000Z (12 months ago)
- Last Synced: 2025-06-24T08:25:34.670Z (12 months ago)
- Topics: dart, flutter, modern, sleek, weather, weather-api
- Language: C++
- Homepage:
- Size: 503 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ฆ๏ธ Weather App โ Flutter
A beautiful, responsive, and modern **Flutter weather app** that shows **RealTime**current weather, hourly forecasts, and key additional information โ all powered by the OpenWeatherMap API.
Built with a focus on clean UI, Material 3 design, and smooth user experience.
---
## โจ Features
### ๐น **Current Weather Overview**
Get real-time temperature, sky condition (like Sunny, Clouds, Rain), and icon visuals for your city.
### ๐น **Hourly Forecast**
Horizontally scrollable forecast cards showing weather for the next 8 hours with temperature, time, and sky icon.
### ๐น **Additional Weather Info**
Detailed metrics like:
- ๐ง Humidity
- ๐จ Wind Speed
- ๐ฏ Atmospheric Pressure
### ๐น **Pull-to-Refresh**
Tap the refresh icon (๐) in the AppBar to fetch the latest weather data instantly.
### ๐น **Modern Material UI**
Responsive dark-themed design using Material 3 widgets, cards, and animations.
---
## ๐ธ Screenshots
ย ย
---
## ๐ Getting Started
### Prerequisites
- [Flutter SDK](https://flutter.dev/docs/get-started/install) (>=3.8.1)
- An API key from [OpenWeatherMap](https://openweathermap.org/api)
### 1. Clone the repository
```bash
git clone https://github.com/your-username/weather_app.git
cd weather_app
```
### 2. Install dependencies
```bash
flutter pub get
```
### 3. Set up environment variables
Create a `.env` file in the root directory:
```env
open_Weather_API_Key=YOUR_OPENWEATHERMAP_API_KEY
```
> **Note:** The `.env` file is included in `.gitignore` and should not be committed.
### 4. Run the app
```bash
flutter run
```
---
## ๐ ๏ธ Project Structure
```
lib/
main.dart # App entry point
weather_screen.dart # Main UI and logic for weather display
hourly_focus_item.dart # Widget for hourly forecast cards
additional_info_item.dart# Widget for additional info (humidity, wind, pressure)
secrets.dart # Loads API key from .env
```
---
## ๐ฆ Dependencies
- [flutter_dotenv](https://pub.dev/packages/flutter_dotenv) - For environment variable management
- [http](https://pub.dev/packages/http) - For making API requests
- [intl](https://pub.dev/packages/intl) - For date/time formatting
- [cupertino_icons](https://pub.dev/packages/cupertino_icons) - iOS style icons
---
## ๐งช Testing
Basic widget test is included in `test/widget_test.dart`. Run tests with:
```bash
flutter test
```
---
## ๐ค Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/YourFeature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin feature/YourFeature`)
5. Open a Pull Request
---
## Acknowledgements
- [OpenWeatherMap](https://openweathermap.org/) for the weather API
- [Flutter](https://flutter.dev/) for the awesome framework