Android Weather App with MVVM Jetpack Compose Sample Project with Dagger/Hilt, Retrofit, Moshi and MVI
This is a sample project showcasing the use of MVVM architecture, Jetpack Compose, Dagger/Hilt, Retrofit, Moshi, and Clean Architecture with Model-View-Intent (MVI) pattern for building a modern Android app.
Features
The project implements the following features:
- Implement a Model-View-ViewModel (MVVM) architecture with MVI pattern
- Use Kotlin programming language
- Use Jetpack Compose to build UI components
- Use Dagger/Hilt for dependency injection
- Use Retrofit for networking with Moshi for JSON parsing
- Implement Clean Architecture principles for better code organization and testability
Requirements
- Android Studio Arctic Fox or newer
- Android SDK version 30 or higher
- Android build tools version 30.0.3 or higher
- Kotlin version 1.5.31 or higher
Getting Started
- Clone this repository to your local machine using git clone [email protected]:kashifansari786/MVI_weatherApp_compose.git
- Open the project in Android Studio
- Build and run the project on an emulator or a physical device running Android 5.0 or higher
Tech Stack
- MVVM Architecture with MVI pattern
- Jetpack Compose
- Kotlin
- Dagger/Hilt
- Retrofit
- Moshi
- Clean Architecture
Screenshots
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
Google's official documentation on MVVM Architecture, Jetpack Compose, Dagger/Hilt, Retrofit, Moshi, and Clean Architecture Model-View-Intent (MVI) in Android: A Primer by Fernando Cejas