Skip to content

Weather app that displays the current weather at the user’s location and a 5-day forecast.

Notifications You must be signed in to change notification settings

KennethMathari/Weather_App

Repository files navigation

Weather App

Pre Requisites

Setup

  • Add your OPEN_WEATHER_API_KEY to your local.properties file
  • Build and run the project

App Features

  • Display the current weather at the user's location
  • Display the weather forecast for the next 5 days based on the user's location
  • Change the background image & colour depending on the type of weather(Cloudy, Sunny and Rainy)
  • Search for weather details by city name
  • Save/Delete different weather locations as favourites
  • View list of favourite weather locations

Tech-stack

  • Kotlin - a cross-platform, statically typed, general-purpose programming language with type inference.
  • Coroutines - perform background operations.
  • Flow - handle the stream of data asynchronously that executes sequentially.
  • Hilt - Hilt is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
  • Retrofit - A type-safe HTTP client for Android.

Architecture

  • MVI - Model-View-Intent

Tests

  • Unit Tests
  • JUnit - a simple framework to write repeatable tests.
  • MockK - mocking library for Kotlin
  • Truth - Truth makes your test assertions and failure messages more readable.

App Demo!

Releases

No releases published

Packages

No packages published

Languages