Skip to content

010Ankushsharma/VibeWithWeather

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🌤️ VibeWithWeather

An advanced Flutter weather app that delivers real-time weather data, hourly & daily forecasts, and essential weather metrics — designed for reliability and performance.


📱 Features

  • Real-Time Weather — Live weather conditions for your current location or any searched city
  • Hourly Forecast — Hour-by-hour weather breakdown for the day ahead
  • Daily Forecast — Multi-day outlook so you can plan ahead
  • Auto Location Detection — Automatically detects your GPS location on launch
  • Lottie Animations — Smooth, dynamic weather animations for sunny, rainy, cloudy and more
  • BLoC State Management — Clean, reactive UI powered by flutter_bloc
  • Formatted Date & Time — Human-readable timestamps using intl

🛠️ Tech Stack

Layer Technology
Language Dart
Framework Flutter
State Management flutter_bloc + equatable
HTTP Requests http
Location geolocator + geocoding
Animations lottie
Date Formatting intl

📦 Dependencies

dependencies:
  flutter_bloc: ^9.1.1      # State management
  http: ^1.6.0              # API calls
  geolocator: ^14.0.2       # GPS location
  geocoding: ^4.0.0         # Coordinates to city name
  lottie: ^3.3.2            # Weather animations
  equatable: ^2.0.7         # State comparison for BLoC
  intl: ^0.19.0             # Date & time formatting
  cupertino_icons: ^1.0.8   # iOS-style icons

🚀 Getting Started

Prerequisites

  • Flutter SDK ^3.10.4
  • Dart SDK ^3.10.4
  • A weather API key (e.g. OpenWeatherMap)

Installation

# 1. Clone the repository
git clone https://github.com/010Ankushsharma/VibeWithWeather.git

# 2. Navigate into the project
cd VibeWithWeather

# 3. Install dependencies
flutter pub get

# 4. Run the app
flutter run

API Key Setup

  1. Get a free API key from OpenWeatherMap
  2. Add your key to the appropriate config file in lib/
const String apiKey = 'YOUR_API_KEY_HERE';

📁 Project Structure

VibeWithWeather/
├── lib/                  # Main Dart source code
│   ├── bloc/             # BLoC state management (events, states, bloc)
│   ├── models/           # Data models (weather, forecast)
│   ├── screens/          # UI screens
│   ├── widgets/          # Reusable UI components
│   └── main.dart         # App entry point
├── assets/               # Lottie animations & images
├── pubspec.yaml          # Dependencies & project config
└── README.md

📋 Permissions

The following permissions are required:

Android (AndroidManifest.xml)

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

iOS (Info.plist)

<key>NSLocationWhenInUseUsageDescription</key>
<string>VibeWithWeather needs your location to show local weather.</string>

🔄 How It Works

App Launch
    ↓
Detect GPS Location (geolocator)
    ↓
Convert to City Name (geocoding)
    ↓
Fetch Weather Data (http → Weather API)
    ↓
BLoC emits state (flutter_bloc)
    ↓
UI renders with Lottie animations

📸 Screenshots

Coming soon


🤝 Contributing

Contributions, issues and feature requests are welcome!

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

📄 License

This project is open source and available under the MIT License.


👤 Author

Ankush Sharma


Built with ❤️ using Flutter

About

Advanced Weather App is a feature-rich application that delivers accurate real-time weather data, hourly and daily forecasts, and essential weather metrics. Designed for reliability and performance, it helps users stay informed about changing weather conditions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages