/openweathermap-flutter

Weather, everybody wants to know how it is going to be during the week. Will it be rainy, windy, or sunny? Luckily for us, in the information age, there are open APIs to retrieve information about it.

Primary LanguageDartMIT LicenseMIT

Flutter OpenWeather App

OpenWeather is a project created by Lucas Montano initially as an One-Day-Challange, then he decided to create an Open Source project to help his followers and everyone getting started with Open Source world world building a basic but very strategic application!

Made by Lucas Montano Last Commit Contributors License


Table of Contents


πŸš€ Getting Started

Prerequisites

To run any Android application built with Flutter you need to configure the enviroments in your machine, you can do this following the the tutorial provided by Google in Flutter website

  • Flutter SDK
  • Android Studio (to download Android SDK)
  • Xcode (for iOS develop only)

Clone

  • Clone this repo to your local machine using:
https://github.com/lucasmontano/openweathermap-flutter

Setup

To run the app you need to have an online emulator or a plugged device and run the following command in the root of the application (openweathermap-flutter/app)

Android

flutter run

iOS (MAC Only)

flutter run

πŸ“‹ Features

Documentation

  • Explore the Earth Weather forecast (Real Time)
  • Check detailed information about the weather by coordinates (lat, lon)
  • Bookmark a location
  • Visualize all bookmarked locations in the map
  • Remove a bookmark
  • Search functionality
  • Theme Switcher (Light/Dark Mode)
  • Data Cache
  • Hours forecast
  • Write some tests (of course)

Build with

  • Core
    • Flutter - Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.
  • HTTP Comunication
    • Swagger - A powerful tool to generate the http client, ever model and exception in Dart.
  • State management
    • MobX - MobX is a library for reactively managing the state of your applications.
    • Flutter MobX - Flutter integration for MobX.
  • Project structure
    • Flutter Modular - Smart project structure with dependency injection and route management
  • Google Maps -Google Maps for Flutter - A Flutter plugin for integrating Google Maps in iOS and Android applications.

πŸ€” Contributing

To get started...

Step 1

  • 🍴 Fork this repo!

Step 2

  • πŸ‘― Clone this repo to your local machine using https://github.com/luacasmontano/openweathermap-flutter.git

Step 3

  • πŸŽ‹ Create your feature branch using git checkout -b my-feature

Step 4

  • βœ… Commit your changes using git commit -m 'feat: My new feature';

Step 5

  • πŸ“Œ Push to the branch using git push origin my-feature;

Step 6

  • πŸ”ƒ Create a new pull request

After your Pull Request is merged, can you delete your feature branch.


πŸ“Œ Support

Reach out to me at one of the following places!


πŸ“ License

License

This project is licensed under the MIT License - see the LICENSE file for details.


βš’ Other Platforms

Open Weather on Other Platforms:


Made with β™₯ Enjoy it!