MyWeather icon indicating copy to clipboard operation
MyWeather copied to clipboard

App displays real-time weather updates for user's location and for other locations set by user. App uses MVVM with Repository pattern, dagger dependency injection, NetworkBoundResource, Navigation com...

MyWeather

App shows real-time weather updates for your location and any custom location you set. Weather forecast data is gotten from Apixu Api

Final project for Udacity Nanodegree

Features

  • Local persistence using Room database
  • MVVM architecture
  • Material design
  • Databinding for binding data to views
  • Navigation component
  • App uses NetworkBoundResource for data operations
  • Homescreen Widget that shows weather information
  • Dependency injection with Dagger 2
  • Crash reporting with Firebase Crashlytics
  • Displays test ads

Installing

Follow these steps if you want to get a local copy of the project.

Prerequisites

  • Android Studio IDE 3.0+
  • Android SDK v28
  • Android Build Tools v28.0.3
  • Gradle 4.10.1

1. Clone or fork the repository (Master Branch) by running the command below

on your git terminal

git clone https://github.com/Ezike/MyWeather.git

2. Import the project in AndroidStudio, and add API Key

  1. In Android Studio, go to File -> New -> Import project
  2. Follow the dialog for set up instructions
  3. Get your api key from Apixu website
  4. Create a local gradle.properties file and store the api key there
ApiXuKey="Your API Key here"

Libraries

Author

Ezike Tobenna

License

This project is licensed under the Apache License 2.0 - See: http://www.apache.org/licenses/LICENSE-2.0.txt