Skip to content

darkmoonight/Rain

🌦️ Rain

A beautiful, feature-rich weather application built with Flutter

EnglishРусский

Stars Forks Downloads Play Store Installs GitHub release License

Tired of unpredictable weather? Rain keeps you prepared with accurate forecasts, interactive maps, and beautiful design. 🌦️📱🗺️

🌍 Available in 37 languages🎨 Material You & AMOLED🗺️ Interactive weather map📱 Home widget


✨ Features

🌡️ Comprehensive Weather Data

  • Real-time conditions with feels-like temperature • Hourly forecasts (12+ days) • 7+ day daily outlooks
  • Detailed metrics: UV index, humidity, wind speed/direction, precipitation, visibility, pressure, dew point
  • Day/night-aware weather icons • Sunrise/sunset times • Expandable hourly variable details

🗺️ Interactive Weather Map

  • OpenStreetMap-based interactive map • Weather markers for all saved cities
  • Tap markers for quick weather preview • Long-press to add new locations
  • Visual city selection with GPS support • Map tile caching (30 days) • Dark mode styling

🏙️ Multi-City Management

  • Save unlimited cities to your watchlist • Drag-to-reorder • Pull-to-refresh all
  • City search with autocomplete • Manual coordinate entry • GPS auto-detection
  • Edit or remove saved cities • View timezone for each location

🔔 Smart Notifications

  • Scheduled weather forecasts (1-5 hour intervals) • Custom time window (start/end)
  • Weather-condition-specific icons • Silent notifications (no sound/vibration)
  • Automatic cancellation when disabled • Background scheduling

📱 Home Screen Widget

  • Pin to home screen (Android) • Shows current temp & weather icon
  • Background auto-update (min 15-min interval) • Customizable background color • Customizable text color

🎨 Beautiful Design

  • Material You dynamic theming (wallpaper colors) • Pure AMOLED black theme
  • Light/Dark/System modes • Large element mode toggle • Edge-to-edge display
  • Google Fonts (Ubuntu) • Smooth animations • Shimmer loading states

🌍 Extensive Localization

  • 37 languages including: English, Русский, 中文, العربية, हिन्दी, Español, Français, Deutsch, Português, 한국어, 日本語, Türkçe, and many more
  • Regional preferences • 12h/24h time format support

🧮 Customization Options

  • Temperature: Celsius/Fahrenheit • Measurement system: Metric/Imperial
  • Wind speed: kph/m/s • Pressure: hPa/mmHg • Rounded temperatures toggle
  • Widget color customization with HSV color picker

📸 Screenshots


📥 Download

Android

Play Store IzzyOnDroid

Other Platforms

Get the latest APK or builds for other platforms from the Releases Section.


🛠️ Building from Source

Prerequisites

  • Flutter SDK 3.41.6 or higher
  • Dart SDK 3.11.4 or higher
  • Android Studio / Xcode for platform-specific builds

Steps

# Clone the repository
git clone https://github.com/darkmoonight/Rain.git
cd Rain

# Install dependencies
flutter pub get

# Generate code (for Isar database, Freezed models, JSON serialization)
dart run build_runner build

# Run the app
flutter run

# Build for production
flutter build apk --release        # Android APK
flutter build appbundle --release  # Android App Bundle (Play Store)
flutter build ios --release        # iOS

Code Generation

The project uses code generation for:

  • Isar - Database schemas
  • Freezed - Immutable data classes
  • JSON Serializable - JSON serialization

After modifying files with @freezed, @JsonSerializable, or @collection annotations, run:

dart run build_runner build --delete-conflicting-outputs

🌐 Data Sources

Rain uses free, open weather APIs with no API key required:


🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.


💰 Support the Project

If Rain has become an indispensable part of your daily routine, consider supporting development:

ЮMoney


📃 License

This project is licensed under the MIT License.


👨‍💻 Contributors

Thanks to all our amazing contributors!


Made with ❤️ using Flutter