Comic reader app 📘. Learning MVVM / MVI with RxKotlin, Retrofit, Kotlin Coroutines
This project brings to the table set of best practices, tools, and solutions:
- 100% Kotlin
- Kotlin Coroutines with Flow
- Functional & Reactive programming with RxKotlin, RxJava3
- Clean Architecture with MVI (Uni-directional data flow)
- Λrrow - Functional companion to Kotlin's Standard Library
- Modern architecture (Clean Architecture, Model-View-ViewModel)
- Navigation, single-activity architecture with Jetpack Navigation
- Initialize components at application startup with AndroidX Startup
- Cache local data with Room Persistence Library
- Schedule tasks with WorkManager
- ViewModel, LiveData, Lifecycle, ... with Android Jetpack
- Dependency injection Koin
- Material Design Material Components for Android
- Kotlin Gradle DSL
- Firebase: Firestore, Authentication, Storage, Analytics, Crashlytics
- Gradle Kotlin DSL, Custom plugin
- You must use Android Studio Arctic Fox (2020.3.1) (note: Java 11 is now the minimum version required)
- Clone:
git clone https://github.com/hoc081098/ComicReaderApp_MVI_Coroutine_RxKotlin.git
- Optional: Delete
.idea
folder if cannot open project - Open project by
Android Studio
and run as usual
--------------------------------------------------------------------------------
Language Files Lines Blank Comment Code
--------------------------------------------------------------------------------
Kotlin 165 15406 1777 644 12985
XML 95 5181 464 81 4636
Prolog 7 127 18 0 109
JSON 2 103 0 0 103
Markdown 2 109 24 0 85
Batch 1 89 21 0 68
--------------------------------------------------------------------------------
Total 272 21015 2304 725 17986
--------------------------------------------------------------------------------
Clone this repository: https://github.com/hoc081098/comic_app_server_nodejs
MIT License
Copyright (c) 2019-2021 Petrus Nguyễn Thái Học
Thanks goes to these wonderful people (emoji key):
Petrus Nguyễn Thái Học 💻 🚧 🤔 🎨 🐛 |
This project follows the all-contributors specification. Contributions of any kind welcome!