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 clonethis projectgit clone https://github.com/bijaykumarpun/weather-app-clean-architecture
- Open the project in
Android Studiopointing to the root folder'sbuild.gradlefile - After successfully building the project, run
./gradlew installDebugin 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
Actionstab of this GitHub project - Look for the most recent CI run
- Under
Artifactsection look fordebug-buildfile - Click
debug-buildto download the file - Extract & install
