a small todo app build with Jetpack Compose
It's a very basic todo app. You can list, add, edit and remove todos.
This project is based on clean architecture with the following modules:
- domain(kotlin) module for use cases and entities
- data(kotlin) module for repository implementations
- device(android) for implementation details related to the data sources
- app module which is the presentation layer and where MVVM is used
App module depends on all modules because of dependency injection. We need to retrieve koin modules. all the implementations
use kotlin internal modifier. So in theory App module depends only on domain module.
Domain module has no module dependency.
Data module depends on domain.
Device module depends on Data.
- Jetpack Compose
- Jetpack libraries (Room, ViewModel)
- Koin for dependency injection
- Kotlin and Kotlin Coroutines
- Accompanist
- UI testing
- Animations
- CI/CD