A beautifully designed Flutter Weather Application that provides real-time weather updates using OpenWeather API. Built with Dart, leveraging modern Flutter libraries including Geolocator, Geocoding, Lottie animations, and custom Outfit font for a polished UI.
-
Real-Time Weather Data Fetches live weather conditions from OpenWeatherMap API.
-
Location-Based Weather Uses device GPS to auto-detect current location.
-
Lottie Animated UI Smooth weather animations for clear, rainy, cloudy, and more.
-
Custom Typography Uses Outfit font family for a clean visual style.
-
Responsive UI Works perfectly on both Android and iOS devices.
- Flutter SDK ≥ 3.10.1
http– API requestsgeolocator– device location servicesgeocoding– convert coordinates ↔ city nameslottie– animated weather illustrationsflutter_dotenv– environment variable & API key handling
- Lottie animation files in
assets/ - Outfit font family (Regular, Light, Bold)
-
Clone the Repository
git clone https://github.com/sai-zack-dev/weather_flutter_app.git cd weather_flutter_app -
Install Dependencies
flutter pub get
-
Configure Environment Variables Create a
.envfile in the root directory:BASE_URL=http://api.openweathermap.org/data/2.5/weather API_KEY=your_openweather_api_key -
Ensure your
pubspec.yamlincludes:assets: - .env - assets/ fonts: - family: Outfit fonts: - asset: fonts/Outfit-Regular.ttf - asset: fonts/Outfit-Bold.ttf weight: 700 - asset: fonts/Outfit-Light.ttf weight: 200
-
Run the App
flutter run
lib/
│── main.dart
│── screens/
│ └── weather_screen.dart
│── services/
│ └── weather_service.dart
└── models/
└── weather_model.dart
assets/
│── clear_day.json
│── cloudy_day.json
│── rainy_day.json
│── snow_day.json
└── thunder_night.json
fonts/
│── Outfit-Regular.ttf
│── Outfit-Bold.ttf
└── Outfit-Light.ttf
Using OpenWeatherMap API: https://api.openweathermap.org
Endpoints used:
/weather– Current weather by city or coordinates/forecast(optional)
For questions or feedback:
- Email: [email protected]
- GitHub: Sai Zack
