🌦️ Rain
A beautiful, feature-rich weather application built with Flutter
Accurate forecasts, air quality, interactive maps, and a polished Material You UI — in 38 languages.
✨ Features
- Weather — current conditions, hourly and 12-day forecasts, detailed metrics, offline cache, per-location timezones
- Air quality — European or US AQI, pollutant breakdown, cached with weather data (Open-Meteo AQ)
- Map — OpenStreetMap with weather markers for saved cities, GPS support
- Cities — unlimited watchlist, search, drag-to-reorder, pull-to-refresh
- Notifications — scheduled forecasts; optional persistent status tile on Android
- Widgets (Android) — three Material You sizes, customizable colors, background refresh
- Design — Material You, AMOLED theme, light/dark/system, configurable font and units
- Localization — 38 languages, metric/imperial, 12h/24h time
📸 Screenshots

📥 Download
APK and other builds: Releases
🛠️ Build
Requirements: Flutter 3.44+, Dart 3.12+ (see pubspec.yaml)
git clone https://github.com/darkmoonight/Rain.git && cd Rain flutter pub get dart run slang dart run build_runner build --delete-conflicting-outputs flutter run # Android default flavor: gms flutter run --flavor floss # FOSS build without Play Services
Release APK scripts (gms / floss), reproducible FOSS builds, and flavor details — see scripts/ and CONTRIBUTING.md.
Stack: Flutter, Riverpod, Go Router, Isar, Open-Meteo, flutter_map, home_widget, Workmanager.
Tests: 496 tests — run flutter test and flutter analyze. Details in CONTRIBUTING.md.
🌐 Data Sources
Free APIs, no key required:
- Open-Meteo Weather · Air Quality · Geocoding
- OpenStreetMap map tiles
🤝 Contributing
See CONTRIBUTING.md. Bug reports and feature requests: use the issue templates.
💰 Support
📃 License
👨💻 Contributors
Made with ❤️ using Flutter