Giter VIP home page Giter VIP logo

my_weather_app's Introduction

My Weather App

My Weather App is a Flutter-based mobile application that provides users with up-to-date weather information for Islamabad city and a five-day weather forecast. It leverages two free APIs, OpenWeather for daily forecasts and AccuWeather for extended forecasts, to deliver accurate and detailed weather data. This README file will guide you through the project structure, how to set up the app, and any additional information you need to know.

Features

  • Current weather information for Islamabad, including temperature, weather condition, wind speed, and more.
  • Display of sunrise and sunset times, humidity, and visibility.
  • A dynamic, rotating sun icon on the starting screen to add visual appeal.
  • Daily forecasts for Islamabad with details such as date, day of the week, and maximum temperature.
  • A sleek and user-friendly interface with dark mode support.

Getting Started

Before you can run the app, follow these steps to set up your development environment:

  1. Flutter Installation: Ensure you have Flutter installed on your system. You can follow the installation instructions on the official Flutter website.

  2. Clone the Repository: Clone this GitHub repository to your local machine using Git:

    git clone https://github.com/your-username/my_weather_app.git
  3. API Keys:

    • You need to obtain API keys from both OpenWeather and AccuWeather to fetch weather data. Follow these links to sign up for free API access:
  4. Configure API Keys:

    • Once you have obtained the API keys, create a file named secrets.dart inside the lib directory of the app.
    • In secrets.dart, define your API keys as constants:
    const String openWeatherApiKey = 'YOUR_OPENWEATHER_API_KEY';
    const String accuWeatherApiKey = 'YOUR_ACCUWEATHER_API_KEY';
  5. Dependencies: Install the required dependencies using the following command inside the project directory:

    flutter pub get
  6. Run the App: Start the app using the following command:

    flutter run

The app should now be running on your emulator or physical device, providing weather details specifically for Islamabad city.

Project Structure

The project is structured as follows:

  • lib/: Contains the source code for the app.
    • Screen/: Screens of the app, including the starting screen, home screen, and forecast screen.
    • api/: API-related functions and classes for fetching weather data.
    • common/: Reusable widgets and utility functions for styling and layout.
    • secrets.dart: File for storing API keys (remember to add your keys here).
  • assets/: Contains image assets used in the app.

Dependencies

  • flutter/material.dart: Core Flutter library for building the UI.
  • animated_text_kit: A package for adding animated text effects.
  • shimmer: A package for creating shimmering loading animations.

Contributions and Issues

Feel free to contribute to this project by opening pull requests or reporting any issues you encounter. We welcome your feedback and contributions to make My Weather App even better.

Enjoy using My Weather App! If you have any questions or need assistance, don't hesitate to reach out. Stay informed about the weather in Islamabad and have a great day!


This update makes it clear that the app is designed specifically to provide weather details for Islamabad city.

my_weather_app's People

Contributors

zabi1647 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.