Skip to content

MRAmin0/Weatherly

Repository files navigation

Weatherly ☀️

Weatherly Icon

A modern, multilingual weather app with beautiful UI

Fast performance, minimal design, professional user experience

Version Flutter Dart License

🌐 Web Version📥 Download APK🛍 Myket

🇮🇷 نسخه فارسی


📸 Screenshots

Home Forecast Settings
Home Forecast Settings

✨ Key Features

🌤 Weather Info

  • 🔍 Smart city search with live suggestions
  • 🌡 Current weather with full details (temp, humidity, wind, pressure)
  • 📅 5-day forecast with high accuracy
  • Hourly forecast for precise planning
  • 💨 Air Quality Index (AQI) with color coding

🔔 Smart Notifications (NEW in v2.0.0)

  • ☔ Weather-based tips ("Take an umbrella!", "Wear sunglasses!")
  • ⏰ Daily morning alerts with customizable time
  • 🧪 Test notification button for preview

🎨 User Interface

  • 🌈 Material Design 3 with Dynamic Color
  • 🎭 Material You support (Dynamic colors)
  • 🌓 Light/Dark theme with smooth transition
  • Smooth animations (rotate, pulse, slide)
  • 📱 Responsive design for mobile and web

🌍 Multilingual

  • 🇮🇷 Persian (RTL) — Full right-to-left support
  • 🇬🇧 English (LTR) — Standard international interface
  • 🔄 Easy language switch from settings

⚙️ Advanced Features

  • 💾 Auto-save user preferences
  • 🌡 Temperature unit selection (Celsius/Fahrenheit)
  • 📍 Save favorite cities
  • 🎯 Default city configurable
  • 📶 Offline mode with smart caching

📦 Download

From Myket

Myket

Easy install with automatic updates

Direct APK Download

Download APK

File size: ~57 MB | Android: 5.0+ (API 21)

Web Version

Use Weatherly Web without installation.


🚀 Development Setup

Prerequisites

Flutter SDK: 3.35.7+
Dart SDK: 3.9.2+
Android Studio / VS Code (optional)

Check Flutter version:

flutter --version

Installation Steps

1️⃣ Clone Repository

git clone https://github.com/MRAmin0/Weatherly.git
cd Weatherly

2️⃣ Install Dependencies

flutter pub get

3️⃣ Generate Localization Files (Required ⚠️)

flutter gen-l10n

Note: Run this command after every change to ARB files in l10n/ folder.

4️⃣ Run App

For device/emulator:

flutter run

For browser:

flutter run -d chrome

For release APK:

flutter build apk --release

📝 Changelog

🚀 Version 2.1.0 (Latest)

✨ New Features

  • 📡 VPN Guard (Network Intelligence)
    Weatherly now detects VPN connections to ensure weather data is fetched accurately and without blockages.

  • 🎨 Dynamic Weather Colors
    UI elements (Switches, Chips, Toggles) automatically sync with the current weather background.
    No more static purple—the UI adapts to the sky.

  • Extreme Performance & Battery Save
    Optimized for older and low-end devices.
    Improved rendering using RepaintBoundary and optimized Glassmorphism effects, resulting in smoother performance with significantly lower RAM and CPU usage.

  • ☀️ Light Mode Refinement
    Fully resolved visibility issues in Light Mode.
    Texts and icons are now crisp and clearly readable on light backgrounds.

🛠️ Improvements & Bug Fixes

  • 📈 Chart Visibility: Fixed temperature chart clipping; all labels and timestamps are now fully visible.
  • 🧹 Code Cleanup: Removed heavy dynamic_color dependencies and migrated to modern package:web for a lighter build.
  • ⚙️ Settings UI: Improved readability of unselected theme and provider chips.

🔔 Version 2.0.0

  • ✨ Smart weather notifications
  • ⏰ Daily morning alerts with custom time
  • 🧪 Test notification button
  • 🐛 Fixed connection error on startup

💎 Version 1.9.0

  • 🎨 Complete UI redesign
  • 🌈 Dynamic backgrounds
  • ✨ New animations

🌈 Version 1.8.0

  • ✨ Full ColorScheme integration
  • 🎨 Updated backgrounds, search bar, and AQI card
  • 🌈 Dynamic color support (Material You)
  • 🎯 Full Material Design 3 support

⭐ Version 1.7.0

  • 🐛 Bug fixes and stability improvements
  • 📡 Proper offline state messaging

🧪 Testing & Development

Useful Commands

# Analyze code
flutter analyze

# Run tests
flutter test

# Run web version
flutter run -d chrome

# Check outdated dependencies
flutter pub outdated

# Format code
dart format .

🤝 Contributing

We welcome contributions!

How to Contribute:

  1. Fork the repository
  2. Create a branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Create a Pull Request

Report Issues

Found a bug? Please create an Issue with:

  • Detailed description
  • Steps to reproduce
  • Screenshots (if possible)
  • Device info and app version

🙏 Acknowledgments

This project uses:


📄 License

This project is licensed under the MIT License. See LICENSE for details.


👨‍💻 Author

Developer: Amin Monajati


Made with ❤️ and ☕

If you found this project useful, please give it a ⭐️!

GitHub stars GitHub forks