This application serves as a comprehensive example demonstrating the implementation of a many-to-many relationship in a Room database using modern Android development practices. It showcases the integration of the MVI (Model-View-Intent) pattern within a Clean Architecture framework, leveraging Hilt for dependency injection and Jetpack Compose for the UI layer. The project also includes detailed examples of testing, featuring Room database testing with Hilt and end-to-end UI testing using Jetpack Compose. This app is designed to be a valuable reference for developers looking to build scalable, maintainable Android applications with advanced architecture patterns and testing strategies.
- Compose
- Coroutine
- Flow
- ViewModel
- RoomDB
- Hilt
- Material Design
- Hilt-Testing
- Room-Testing
- Compose-Testing
The app uses MVI [Model-View-Intent] clean architecture and is refactored from MVVM to have a unidirectional flow of data, separation of concern, testability, and much more.