[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9495":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":40,"readmeContent":41,"aiSummary":42,"trendingCount":16,"starSnapshotCount":16,"syncStatus":43,"lastSyncTime":44,"discoverSource":45},9495,"Rain","darkmoonight\u002FRain","darkmoonight","🌦️ Weather application","",null,"Dart",1023,85,11,43,0,14,35,6,18.8,"MIT License",false,"main",true,[26,27,28,29,30,31,32,33,34,35,36,37,38,39],"android","app","application","dart","flutter","flutter-app","map","mobile","open-meteo","open-meteo-api","openstreetmap","weather","weather-app","weatherapp","2026-06-12 02:02:08","\u003Cdiv align='center'>\n    \u003Cimg src='\u002Freadme\u002Ficon.png' width='150'\u002F>\n    \u003Ch1>🌦️ Rain\u003C\u002Fh1>\n    \u003Cp>\u003Cstrong>A beautiful, feature-rich weather application built with Flutter\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\u003Cp align='center'>\n    \u003Ca href='README.md'>English\u003C\u002Fa> • \u003Ca href='README_RU.md'>Русский\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align='center'>\n    \u003Ca href='https:\u002F\u002Fgithub.com\u002Fdarkmoonight\u002FRain\u002Fstargazers'>\u003Cimg alt='Stars' src='https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fdarkmoonight\u002FRain?color=ABACD3'\u002F>\u003C\u002Fa>\n    \u003Ca href='https:\u002F\u002Fgithub.com\u002Fdarkmoonight\u002FRain\u002Fforks'>\u003Cimg alt='Forks' src='https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fdarkmoonight\u002FRain?color=ABACD3'\u002F>\u003C\u002Fa>\n    \u003Ca href='https:\u002F\u002Fgithub.com\u002Fdarkmoonight\u002FRain\u002Freleases\u002Flatest'>\u003Cimg alt='Downloads' src='https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fdarkmoonight\u002FRain\u002Ftotal?color=ABACD3&logo=github&logoColor=white'\u002F>\u003C\u002Fa>\n    \u003Ca href='https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=com.yoshi.rain'>\u003Cimg alt='Play Store Installs' src='https:\u002F\u002Fimg.shields.io\u002Fendpoint?color=ABACD3&logo=google-play&logoColor=white&url=https%3A%2F%2Fplay.cuzi.workers.dev%2Fplay%3Fi%3Dcom.yoshi.rain%26l%3DInstalls%26m%3D%24installs'\u002F>\u003C\u002Fa>\n    \u003Ca href='https:\u002F\u002Fgithub.com\u002Fdarkmoonight\u002FRain\u002Freleases'>\u003Cimg alt='GitHub release' src='https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fdarkmoonight\u002FRain?color=ABACD3&logo=flutter&logoColor=white'\u002F>\u003C\u002Fa>\n    \u003Ca href='https:\u002F\u002Fgithub.com\u002Fdarkmoonight\u002FRain\u002Fblob\u002Fmain\u002FLICENSE'>\u003Cimg alt='License' src='https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fdarkmoonight\u002FRain?color=ABACD3&logo=open-source-initiative&logoColor=white'\u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align='center'>\n    Tired of unpredictable weather? Rain keeps you prepared with accurate forecasts, interactive maps, and beautiful design. 🌦️📱🗺️\n\u003C\u002Fp>\n\n\u003Cp align='center'>\n    \u003Cstrong>🌍 Available in 37 languages\u003C\u002Fstrong> • \u003Cstrong>🎨 Material You & AMOLED\u003C\u002Fstrong> • \u003Cstrong>🗺️ Interactive weather map\u003C\u002Fstrong> • \u003Cstrong>📱 Home widget\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n---\n\n## ✨ Features\n\n**🌡️ Comprehensive Weather Data**\n- Real-time conditions with feels-like temperature • Hourly forecasts (12+ days) • 7+ day daily outlooks\n- Detailed metrics: UV index, humidity, wind speed\u002Fdirection, precipitation, visibility, pressure, dew point\n- Day\u002Fnight-aware weather icons • Sunrise\u002Fsunset times • Expandable hourly variable details\n\n**🗺️ Interactive Weather Map**\n- OpenStreetMap-based interactive map • Weather markers for all saved cities\n- Tap markers for quick weather preview • Long-press to add new locations\n- Visual city selection with GPS support • Map tile caching (30 days) • Dark mode styling\n\n**🏙️ Multi-City Management**\n- Save unlimited cities to your watchlist • Drag-to-reorder • Pull-to-refresh all\n- City search with autocomplete • Manual coordinate entry • GPS auto-detection\n- Edit or remove saved cities • View timezone for each location\n\n**🔔 Smart Notifications**\n- Scheduled weather forecasts (1-5 hour intervals) • Custom time window (start\u002Fend)\n- Weather-condition-specific icons • Silent notifications (no sound\u002Fvibration)\n- Automatic cancellation when disabled • Background scheduling\n\n**📱 Home Screen Widget**\n- Pin to home screen (Android) • Shows current temp & weather icon\n- Background auto-update (min 15-min interval) • Customizable background color • Customizable text color\n\n**🎨 Beautiful Design**\n- Material You dynamic theming (wallpaper colors) • Pure AMOLED black theme\n- Light\u002FDark\u002FSystem modes • Large element mode toggle • Edge-to-edge display\n- Google Fonts (Ubuntu) • Smooth animations • Shimmer loading states\n\n**🌍 Extensive Localization**\n- 37 languages including: English, Русский, 中文, العربية, हिन्दी, Español, Français, Deutsch, Português, 한국어, 日本語, Türkçe, and many more\n- Regional preferences • 12h\u002F24h time format support\n\n**🧮 Customization Options**\n- Temperature: Celsius\u002FFahrenheit • Measurement system: Metric\u002FImperial\n- Wind speed: kph\u002Fm\u002Fs • Pressure: hPa\u002FmmHg • Rounded temperatures toggle\n- Widget color customization with HSV color picker\n\n---\n\n## 📸 Screenshots\n\n\u003Cimg src='\u002Freadme\u002F1.png' width='200'\u002F> \u003Cimg src='\u002Freadme\u002F2.png' width='200'\u002F> \u003Cimg src='\u002Freadme\u002F3.png' width='200'\u002F> \u003Cimg src='\u002Freadme\u002F4.png' width='200'\u002F> \u003Cimg src='\u002Freadme\u002F5.png' width='200'\u002F> \u003Cimg src='\u002Freadme\u002F6.png' width='200'\u002F> \u003Cimg src='\u002Freadme\u002F7.png' width='200'\u002F> \u003Cimg src='\u002Freadme\u002F8.png' width='200'\u002F>\n\n---\n\n## 📥 Download\n\n### Android\n[![Play Store](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGoogle_Play-414141?style=for-the-badge&logo=google-play&logoColor=white)](https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=com.yoshi.rain)\n[![IzzyOnDroid](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fapt.izzysoft.de\u002Ffdroid\u002Fapi\u002Fv1\u002Fshield\u002Fcom.yoshi.rain&style=for-the-badge&logo=data:image\u002Fpng;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAA4VBMVEXn9cuv7wDB9iGp4x2k5gKh3B6k3SyAxAGd4ASo6gCv5SCW2gHA7UTB6V+EwiOw3lK36zC+422d1yO78SWs3kfR7JhQiw2751G7+QCz8gCKzgGq3zay5DSm2jrF9jZLfwmNyiC77zXO7oaYzjW37CLj9Lze8LLA43uz3mK19ACR1QBcnRO78R6ExBek1kbE8FLI6nSPu0jH5YJxtQ2b1RiAmz53uwF7pitZkAeX1w7I72TY8KTO8HXD7La+0pKizWBzhExqjytpmR+UzSTA5Ctzy3uv1nOv3gyF3UuCsDRHcEx7M2pHAAAAS3RSTlP\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002F\u002FwDLGfCsAAAB9ElEQVRIx72W53biMBCFhY0L7g0bTAktQEwgdMhuerbO+z\u002FQ2sBiY0uKcvacnX8a3Y\u002FR8YyuQPDJQP8KoExcro6ZC6C4TQXQx\u002FoLABV3cfozgBgL\u002FAWY9ScAsR7oBCD2AmSAoD8A+J3cWYECdBEaVm2z+U1hAuDx4fr6a08PGuuf6cmys5QvMEz0c12zhPWaAYBq9emp9\u002FDlTrMUXsBOaw5Yjl5elrG+u9tYAxbAtjeL+Z3Wdl83Ovfr3BQyYAZBoLXbHDfQ2hykTSEAAIu+2LRcl4tD6UCm67jPCvD4\u002FON5YRhGpzOdrlar74fT5IcvOxDD0Xg0nvU7hjGVttv+0vYyAgyQdNgeey3Hce5DSZqN9GZmvzh8UO0F3thsiY4gqGoUtuL2AeaKpom5brVMryEKvCyXZVX0urd0wOxy4qwh8jxfLlcqZafpYoH0MzQGnNI\u002F6CulOASFc\u002FNWlZ17ADEG3oWjvn5TEvjbfJuyrnFaSfdyrK\u002Ff1Gp1tTAHF750aqgUJUCsr5UizFUv3EeQwmOFekmVmABDCiNVlqNwOwEqcM75vp+s\u002FasrKpAmdxM\u002FGbnfuz0j8OYnPw2v9AqZ5Nt+f7hikwkw2T3Fc2l2jzdcst3DpwGCnvQ+EPUEu8c\u002FSTSAqMfZPeX5IQK0J+a\u002F\u002Fzn5MP4Am7ISN\u002F4mSV8AAAAASUVORK5CYII=)](https:\u002F\u002Fapt.izzysoft.de\u002Fpackages\u002Fcom.yoshi.rain)\n\n### Other Platforms\nGet the latest APK or builds for other platforms from the [Releases Section](https:\u002F\u002Fgithub.com\u002FDarkMooNight\u002FRain\u002Freleases\u002Flatest).\n\n---\n\n## 🛠️ Building from Source\n\n### Prerequisites\n- Flutter SDK 3.41.7 or higher\n- Dart SDK 3.11.5 or higher\n- Android Studio \u002F Xcode for platform-specific builds\n\n### Steps\n```bash\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002Fdarkmoonight\u002FRain.git\ncd Rain\n\n# Install dependencies\nflutter pub get\n\n# Generate code (for Isar database, Freezed models, JSON serialization)\ndart run build_runner build\n\n# Run the app\nflutter run\n\n# Build for production\nflutter build apk --release        # Android APK\nflutter build appbundle --release  # Android App Bundle (Play Store)\nflutter build ios --release        # iOS\n```\n\n### Code Generation\nThe project uses code generation for:\n- **Isar** - Database schemas\n- **Freezed** - Immutable data classes\n- **JSON Serializable** - JSON serialization\n\nAfter modifying files with `@freezed`, `@JsonSerializable`, or `@collection` annotations, run:\n```bash\ndart run build_runner build --delete-conflicting-outputs\n```\n\n---\n\n## 🌐 Data Sources\n\nRain uses free, open weather APIs with no API key required:\n\n- **Weather Data:** [Open-Meteo Weather API](https:\u002F\u002Fopen-meteo.com\u002Fen\u002Fdocs) - Free, open-source weather API\n- **Geocoding:** [Open-Meteo Geocoding API](https:\u002F\u002Fopen-meteo.com\u002Fen\u002Fdocs\u002Fgeocoding-api) - City search and coordinates\n- **Map Tiles:** [OpenStreetMap](https:\u002F\u002Fwww.openstreetmap.org\u002F) - Collaborative mapping project\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](.\u002FCONTRIBUTING.md) for guidelines.\n\n---\n\n## 💰 Support the Project\n\nIf Rain has become an indispensable part of your daily routine, consider supporting development:\n\n[![ЮMoney](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FЮMoney-violet?style=for-the-badge)](https:\u002F\u002Fyoomoney.ru\u002Fto\u002F4100117672775961)\n\n---\n\n## 📃 License\n\nThis project is licensed under the [MIT License](.\u002FLICENSE).\n\n---\n\n## 👨‍💻 Contributors\n\nThanks to all our amazing contributors!\n\n\u003Ca href='https:\u002F\u002Fgithub.com\u002Fdarkmoonight\u002FRain\u002Fgraphs\u002Fcontributors'>\n    \u003Cimg src='https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=darkmoonight\u002FRain'\u002F>\n\u003C\u002Fa>\n\n---\n\n\u003Cp align='center'>\n    Made with ❤️ using Flutter\n\u003C\u002Fp>\n","Rain 是一款使用 Flutter 构建的美观且功能丰富的天气应用程序。它提供了实时天气状况、长达12天以上的每小时预报以及7天以上的每日展望，并支持紫外线指数、湿度、风速\u002F方向等多种详细气象指标。该应用基于 OpenStreetMap 提供了交互式天气地图，用户可以轻松查看和添加多个城市的位置信息。此外，Rain 还具备智能通知功能，允许用户自定义接收天气预报的时间间隔与时间段。这款应用适合需要随时掌握准确天气信息并偏好简洁美观界面设计的移动设备用户。",2,"2026-06-11 03:23:06","top_language"]