A simple weather app that shows daily weather conditions, and weather forecasts; built with Kotlin
using MVVM
and Clean Architecture
design pattern.
recording-implementation-1.webm
- MVVM with Clean Architecture for design pattern
- Hilt for dependency injection
- Jetpack Compose for UI component design
- Retrofit & OkHttp for network requests
This project uses API data from weatherapi.com
.
├── LICENSE
├── README.md
├── app
│ ├── build. gradle
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── global
│ │ │ └── x
│ │ │ └── weather
│ │ │ ├── XWeatherApplication.kt
│ │ │ ├── data
│ │ │ │ ├── repositories
│ │ │ │ └── source
│ │ │ │ ├── device
│ │ │ │ └── weather
│ │ │ ├── domain
│ │ │ │ ├── models
│ │ │ │ └── use_cases
│ │ │ │ ├── device
│ │ │ │ └── weather
│ │ │ ├── infrastructure
│ │ │ │ └── di
│ │ │ └── presentation
│ │ │ ├── framework
│ │ │ │ └── theme
│ │ │ └── screen
│ │ │ ├── home
│ │ │ │ └── model
│ │ │ ├── settings
│ │ │ └── weather_detail
│ │ └── res
│ │ ├── drawable
│ │ ├── values
│ │ └── xml
│ └── test
├── build.gradle
├── gradle
│ └── wrapper
├── gradle.properties
├── gradlew
├── gradlew.bat
├── local.properties
└── settings.gradle
You can setup/run the project in two ways - either by downloading the project and compiling locally using Android Studio, or by downloading and installing the debug APK artifact straight from the build pipeline.
Make sure you have all the local dependencies setup i.e Android Studio & the Android SDK, check here
- First off,
git clone
this projectgit clone https://github.com/bijaykumarpun/weather-app-clean-architecture
- Open the project in
Android Studio
pointing to the root folder'sbuild.gradle
file - After successfully building the project, run
./gradlew installDebug
in the root project directory to install in any of the available device/emulator
You can also get the latest debug APK file directly from the CI pipeline
- Navigate to the
Actions
tab of this GitHub project - Look for the most recent CI run
- Under
Artifact
section look fordebug-build
file - Click
debug-build
to download the file - Extract & install