Git Product home page Git Product logo

windy's Introduction

forthebadge

WeatherApp

appicon

Android Mobile Application that displays the weather status and the temperature from your location. Also, you can pick a specific location on the map and add it to a list of favorite locations and get all the weather information at this location. In addition you can set an alert for rain, wind, fog, snow โ€ฆ etc.

Outputs

Features

  • MVVM architecture.
  • Use OpenWeatherMap API.
  • Automatic notifications about weather alerts.
  • Custom alarms in a specific time range .
  • Change location provider (GPS, Google-Maps Location).
  • Support two language (English, Arabic).
  • Change temperature unit (Celsius, Kelvin, Fahrenheit).
  • Change wind speed unit (m/s, mph).
  • Local data with Room Persistence.
  • Auto update weather per 15 minutes with Jetpack WorkManager.

Built With ๐Ÿ› 

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • Data Binding - Declaratively bind observable data to UI elements.
    • Room - SQLite object mapping library.
  • Dependency Injection -
    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Moshi - A modern JSON library for Kotlin and Java.
  • Kotlin Serlization - Kotlin Multiplatform Serialization
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • Splash Screen - Newly introduced splash screen API
  • Work Manager - Schedule background tasks
  • Lottie - Animation
  • Google Maps - Embedded Google Maps
  • Glide- for image loading
  • JUnit - Unit Testing
  • Truth - Fluent Assertions
  • Turbine-Turbine is a small testing library for kotlinx.coroutines Flow
  • Espresso-write concise, beautiful, and reliable Android UI tests.

windy's People

Contributors

olaabaza 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.