Skip to content

codinggeh/weather-geh

Repository files navigation

WeatherGeh 🌤️

A beautiful and modern weather forecast app built with Flutter.

Flutter Dart License

Features

  • 🌡️ Real-time weather data
  • 📍 GPS location detection
  • 🔍 City search
  • 📊 Hourly & daily forecast
  • 🌙 Dark/Light mode
  • 🌐 Multi-language (English & Bahasa Indonesia)
  • 💨 Wind, humidity, pressure, visibility info
  • 🌅 Sunrise & sunset times

Screenshots

Coming soon

Prerequisites

Installation

1. Clone the repository

git clone https://github.com/codinggeh/weather-geh.git
cd weather-geh

2. Setup environment variables

Create a .env file in the root directory:

cp .env.example .env

Edit .env and add your OpenWeatherMap API key:

OPENWEATHER_API_KEY=your_api_key_here

💡 Get your free API key at openweathermap.org

3. Install dependencies

flutter pub get

4. Generate code

Run build_runner to generate required files:

dart run build_runner build --delete-conflicting-outputs

5. Run the app

flutter run

Build for Production

Android

flutter build apk --release

APK will be at build/app/outputs/flutter-apk/app-release.apk

iOS

flutter build ios --release

Web

flutter build web --release

Project Structure

lib/
├── core/
│   ├── config/       # Environment configuration
│   ├── constants/    # App & API constants
│   ├── theme/        # App theming
│   └── utils/        # Utility helpers
├── models/           # Data models (Freezed)
├── services/         # API & location services
├── viewmodels/       # State management (Riverpod)
└── views/
    ├── widgets/      # Reusable widgets
    └── screens       # App screens

Tech Stack

  • State Management: Riverpod
  • API Client: Dio
  • Code Generation: Freezed, JSON Serializable
  • Localization: Easy Localization
  • Location: Geolocator
  • Environment: Envied

Contributing

Pull requests are welcome! For major changes, please open an issue first.

License

MIT


Made with ❤️ by Coding Geh