Skip to content

A modern Flutter weather app with real-time data, GPS location detection, Lottie animations, and OpenWeather API integration.

Notifications You must be signed in to change notification settings

sai-zack-dev/weather_flutter_app

Repository files navigation

🌦 Flutter Weather App

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.

Flutter Weather App Preview

🚀 Features

  • 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.


🛠️ Technologies & Packages Used

Core Flutter Packages

  • Flutter SDK ≥ 3.10.1
  • http – API requests
  • geolocator – device location services
  • geocoding – convert coordinates ↔ city names
  • lottie – animated weather illustrations
  • flutter_dotenv – environment variable & API key handling

Assets

  • Lottie animation files in assets/
  • Outfit font family (Regular, Light, Bold)

📦 Installation

  1. Clone the Repository

    git clone https://github.com/sai-zack-dev/weather_flutter_app.git
    cd weather_flutter_app
  2. Install Dependencies

    flutter pub get
  3. Configure Environment Variables Create a .env file in the root directory:

    BASE_URL=http://api.openweathermap.org/data/2.5/weather
    API_KEY=your_openweather_api_key
    
  4. Ensure your pubspec.yaml includes:

    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
  5. Run the App

    flutter run

🗂️ Project Structure (Simplified)

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

🌐 API Reference

Using OpenWeatherMap API: https://api.openweathermap.org

Endpoints used:

  • /weather – Current weather by city or coordinates
  • /forecast (optional)

📧 Contact

For questions or feedback:

About

A modern Flutter weather app with real-time data, GPS location detection, Lottie animations, and OpenWeather API integration.

Topics

Resources

Stars

Watchers

Forks