View Code? Open in Web Editor
NEW
⚡️Comic reader app 📘 Learning MVVM / MVI with :cyclone: RxKotlin, Retrofit, Kotlinx Coroutine, Work Manager, Room, Firebase, AndroidX Startup, Clean Architecture, Arrow.Kt Functional Programming ... ❄️ androidx-startup, androidx-room, androidx-viewmodel, arrow-kt
Home Page: https://github.com/hoc081098/ViewBindingDelegate
License: MIT License
comicreaderapp_mvi_coroutine_rxkotlin_jetpack's Introduction
A self-taught senior developer (Android, iOS, Flutter, NestJs) with 5+ years of experience (since 2018 Summer), has a strong knowledge of Clean Architecture
, MVVM
, MVI
, Reactive Programming
(RxJava/RxKotlin, RxSwift, rxdart, RxJs, Kotlinx Coroutines Flow, ...), Kotlin/Android
, Dart/Flutter
, iOS/Swift
. Official RxDart maintainer 🤟
Visitor count
GPS speedometer Track distance
GPS speedometer can easily track / measure your speed (in km/h or m/s), your distance (in km or m), your time, your current location and show your location in map, with beautiful route. Motorcycle GPS Speedometer app will measure your traveling speed and when speed exceed limit alarm will start warning alarm with sound and vibration. Distance tracking app supports different speed units like kilometer per hour (km/h), meter per second (m/s) and ...
Libraries and packages (Kotlin/Android, iOS/Swift and Flutter/Dart)
FlowExt (https://search.maven.org/artifact/io.github.hoc081098/FlowExt , https://github.com/hoc081098/FlowExt ) - Kotlinx Coroutines Flow Extensions. Extensions to the Kotlin Flow library.
kmp-viewmodel (https://search.maven.org/artifact/io.github.hoc081098/kmp-viewmodel , https://github.com/hoc081098/kmp-viewmodel ) - 🔆 Kotlin Multiplatform ViewModel. Kotlin Multiplatform MVVM. Common/Shared ViewModel in Kotlin Multiplatform - A Kotlin Multiplatform library that provides shared MVVM for UI applications.
solivagant (https://search.maven.org/artifact/io.github.hoc081098/solivagant-navigation , https://github.com/hoc081098/solivagant ) - 🔆 Compose Multiplatform Navigation - 🌸 Pragmatic, type safety navigation for Compose Multiplatform. Based on Freeletics Khonshu Navigation . ♥️ ViewModel, SavedStateHandle, Lifecycle, Multi-Backstacks, Transitions, Back-press handling, and more...
kotlin-channel-event-bus (https://search.maven.org/artifact/io.github.hoc081098/channel-event-bus , https://github.com/hoc081098/kotlin-channel-event-bus ) - A Kotlin Multiplatform library that provides a simple event bus implementation using KotlinX Coroutines Channels. Multi-keys, multi-producers, single-consumer and thread-safe event bus backed by kotlinx.coroutines.channels.Channels
.
RxDart official maintainer https://github.com/ReactiveX/rxdart/commits?author=hoc081098 - An implementation of the popular ReactiveX
api for asynchronous programming, leveraging the native Dart Streams
API.
rx_shared_preferences (https://pub.dev/packages/rx_shared_preferences , https://github.com/hoc081098/rx_shared_preferences ) - Reactive shared preferences for Flutter
.
rx_redux (https://pub.dev/packages/rx_redux , https://github.com/hoc081098/rx_redux ) - Redux
implementation based on Dart Stream
, with the power of RxDart
. Reactive redux store for Dart
& Flutter
.
disposebag (https://pub.dev/packages/disposebag , https://github.com/hoc081098/disposebag ) - A package helps to cancel StreamSubscription
s and close Sink
s.
flutter_disposebag (https://pub.dev/packages/flutter_disposebag , https://github.com/Flutter-Dart-Open-Source/flutter_disposebag ) - Automatically disposes StreamSubscription
s and closes Sink
s when disposing State<T>
.
sqlbrite (https://pub.dev/packages/sqlbrite , https://github.com/hoc081098/sqlbrite ) - Reactive stream wrapper around sqflite
for Flutter
inspired by sqlbrite
.
stream_loader (https://pub.dev/packages/stream_loader , https://github.com/hoc081098/stream_loader ) - Loading content asynchronously with Dart stream.
rxdart_ext (https://pub.dev/packages/rxdart_ext , https://github.com/hoc081098/rxdart_ext ) - Some extension methods and classes built on top of RxDart
.
rx_storage (https://pub.dev/packages/rx_storage , https://github.com/Flutter-Dart-Open-Source/rx_storage ) - Reactive storage for Dart
/Flutter
. RxDart
Storage for Dart
/Flutter
.
listenable_stream (https://pub.dev/packages/listenable_stream , https://github.com/Flutter-Dart-Open-Source/listenable_stream ) - Convert Listenable
(eg. ChangeNotifier
), ValueListenable
(eg. ValueNotifier
) to Stream
/ValueStream
.
distinct_value_connectable_stream (https://pub.dev/packages/distinct_value_connectable_stream , https://github.com/hoc081098/distinct_value_connectable_stream ) - Distinct value connectable stream for RxDart
, useful for BLoC
pattern.
did_change_dependencies (https://pub.dev/packages/did_change_dependencies , https://github.com/hoc081098/did_change_dependencies ) - Return a Stream
that emits null
and done event when didChangeDependencies
is called for the first time.
dart_either (https://pub.dev/packages/dart_either , https://github.com/hoc081098/dart_either ) - Either monad for Dart, including monad comprehensions.
flutter_bloc_pattern (https://pub.dev/packages/flutter_bloc_pattern , https://github.com/hoc081098/flutter_bloc_pattern ) - Base class, BLoC
provider and rxdart
builder for BLoC
pattern in Flutter
.
flutter_provider (https://pub.dev/packages/flutter_provider , https://github.com/hoc081098/flutter_provider ) - Flutter generic provider using InheritedWidget. An helper to easily exposes a value using InheritedWidget without having to write one.
cancellation_token_hoc081098 (https://pub.dev/packages/cancellation_token_hoc081098 , https://github.com/hoc081098/cancellation_token_hoc081098 ) - Dart Cancellation Token. Inspired by CancellationToken in C#. A Dart utility package for easy async task cancellation.
http_client_hoc081098 (https://pub.dev/packages/http_client_hoc081098 , https://github.com/hoc081098/http_client_hoc081098 ) - Simple and powerful HTTP client for Flutter and Dart application.
More
generated with Platane/snk
comicreaderapp_mvi_coroutine_rxkotlin_jetpack's People
comicreaderapp_mvi_coroutine_rxkotlin_jetpack's Issues
Describe the bug
Change ViewPager2 to RecyclerView + PhotoView
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]
Smartphone (please complete the following information):
Device: [e.g. Xiaomi Redmi 7a]
OS: [e.g. Android API 28]
Additional context
Add any other context about the problem here.
Hii rename your repo from ComicReaderApp_MVI_Coroutine_RxKotlin_Jetpack to ComicReaderApp or ComicReader so that more people can know about this app and more people can contribute.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Go to '...'
Click on '....'
Scroll down to '....'
See error
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]
Smartphone (please complete the following information):
Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]
Additional context
Add any other context about the problem here.
Describe the solution you'd like
Add to favorites
Remove from favorites
Describe the bug
App is crashing on startup.
To Reproduce
Steps to reproduce the behavior:
Click on app icon
See error
Expected behavior
A clear and concise description of what you expected to happen.
Logs
https://paste.evolution-x.org/EKg7CI
Smartphone (please complete the following information):
Device: Redmi Note 8 Pro
OS: Android 12.1
Browser: Chrome
Version: Latest
Additional context
Latest debug app
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
so i pulled your project it is well structured and very good bt how do you use the admin panel
Describe the solution you'd like
User can download one or many chapter of one comic, to read after (offline mode)
User can see all downloaded comics, delete, update, etc
Additional context
Add any other context or screenshots about the feature request here.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
Open
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
chore(deps): update all dependencies (actions/checkout
, gradle
, gradle/wrapper-validation-action
, io.github.hoc081098:FlowExt
, com.github.hoc081098:ViewBindingDelegate
, com.chrynan.uri:uri-core
, io.arrow-kt:arrow-fx-coroutines
, io.arrow-kt:arrow-core
, com.github.bumptech.glide:okhttp3-integration
, com.github.bumptech.glide:compiler
, com.github.bumptech.glide:glide
, io.reactivex.rxjava3:rxandroid
, io.reactivex.rxjava3:rxjava
, com.squareup.leakcanary:leakcanary-android
, com.squareup.okhttp3:logging-interceptor
, com.squareup.retrofit2:converter-moshi
, com.squareup.retrofit2:retrofit
, com.squareup.moshi:moshi-kotlin
, io.insert-koin:koin-core
, io.insert-koin:koin-android
, androidx.work:work-runtime-ktx
, androidx.room:room-compiler
, androidx.room:room-rxjava3
, androidx.room:room-ktx
, androidx.room:room-runtime
, androidx.lifecycle:lifecycle-common-java8
, androidx.lifecycle:lifecycle-reactivestreams-ktx
, androidx.lifecycle:lifecycle-livedata-ktx
, androidx.lifecycle:lifecycle-viewmodel-ktx
, androidx.navigation:navigation-ui-ktx
, androidx.navigation:navigation-fragment-ktx
, androidx.recyclerview:recyclerview
, com.google.android.material:material
, androidx.constraintlayout:constraintlayout
, androidx.fragment:fragment-ktx
, androidx.core:core-ktx
, androidx.appcompat:appcompat
, androidx.activity:activity-ktx
, org.jetbrains.kotlinx:kotlinx-coroutines-rx3
, org.jetbrains.kotlinx:kotlinx-coroutines-play-services
, org.jetbrains.kotlinx:kotlinx-coroutines-core
, org.jetbrains.kotlinx:kotlinx-coroutines-android
, org.jetbrains.kotlin:kotlin-stdlib-jdk8
)
chore(deps): update all dependencies (major) (actions/cache
, actions/checkout
, actions/setup-java
, actions/upload-artifact
, gradle
, gradle/wrapper-validation-action
, com.google.firebase:firebase-bom
)
Detected dependencies
github-actions
.github/workflows/build-release.yml
actions/checkout v3
actions/setup-java v3
actions/cache v3
actions/upload-artifact v3
.github/workflows/build.yml
actions/checkout v3
actions/setup-java v3
actions/cache v3
actions/upload-artifact v3
.github/workflows/gradle-wrapper-validation.yml
actions/checkout v3.3.0
gradle/wrapper-validation-action v1.0.5
.github/workflows/remove-old-artifacts.yml
c-hive/gha-remove-artifacts v1
.github/workflows/spotless.yml
actions/checkout v3
actions/setup-java v3
actions/cache v3
gradle
buildSrc/src/main/kotlin/Configurations.kt
org.jetbrains.kotlinx:kotlinx-coroutines-android 1.6.1
org.jetbrains.kotlinx:kotlinx-coroutines-core 1.6.1
org.jetbrains.kotlinx:kotlinx-coroutines-play-services 1.6.1
org.jetbrains.kotlinx:kotlinx-coroutines-rx3 1.6.1
org.jetbrains.kotlin:kotlin-stdlib-jdk8 1.6.21
androidx.activity:activity-ktx 1.4.0
androidx.appcompat:appcompat 1.4.1
androidx.core:core-ktx 1.7.0
androidx.fragment:fragment-ktx 1.4.1
androidx.startup:startup-runtime 1.1.1
androidx.constraintlayout:constraintlayout 2.1.3
com.google.android.material:material 1.4.0
androidx.recyclerview:recyclerview 1.3.0-alpha02
androidx.navigation:navigation-fragment-ktx 2.4.2
androidx.navigation:navigation-ui-ktx 2.4.2
androidx.lifecycle:lifecycle-viewmodel-ktx 2.4.1
androidx.lifecycle:lifecycle-livedata-ktx 2.4.1
androidx.lifecycle:lifecycle-reactivestreams-ktx 2.4.1
androidx.lifecycle:lifecycle-common-java8 2.4.1
androidx.room:room-runtime 2.5.0-alpha01
androidx.room:room-ktx 2.5.0-alpha01
androidx.room:room-rxjava3 2.5.0-alpha01
androidx.room:room-compiler 2.5.0-alpha01
androidx.work:work-runtime-ktx 2.8.0-alpha02
io.insert-koin:koin-android 3.2.0
io.insert-koin:koin-core 3.2.0
com.squareup.moshi:moshi-kotlin 1.13.0
com.squareup.retrofit2:retrofit 2.9.0
com.squareup.retrofit2:converter-moshi 2.9.0
com.squareup.okhttp3:logging-interceptor 5.0.0-alpha.2
com.squareup.leakcanary:leakcanary-android 2.7
com.jakewharton.rxrelay3:rxrelay 3.0.1
com.jakewharton.rxbinding4:rxbinding 4.0.0
com.jakewharton.rxbinding4:rxbinding-core 4.0.0
com.jakewharton.rxbinding4:rxbinding-material 4.0.0
com.jakewharton.rxbinding4:rxbinding-swiperefreshlayout 4.0.0
com.jakewharton.rxbinding4:rxbinding-recyclerview 4.0.0
com.jakewharton.timber:timber 5.0.1
io.reactivex.rxjava3:rxkotlin 3.0.1
io.reactivex.rxjava3:rxjava 3.1.2
io.reactivex.rxjava3:rxandroid 3.0.0
com.github.bumptech.glide:glide 4.12.0
com.github.bumptech.glide:compiler 4.12.0
com.github.bumptech.glide:okhttp3-integration 4.12.0
com.miguelcatalan:materialsearchview 1.4.0
com.ms-square:expandableTextView 0.1.4
com.jaredrummler:material-spinner 1.3.1
com.github.antonKozyriatskyi:CircularProgressIndicator 1.3.0
com.github.chrisbanes:PhotoView 2.3.0
com.chauthai.swipereveallayout:swipe-reveal-layout 1.4.1
de.hdodenhof:circleimageview 3.1.0
com.amulyakhare:com.amulyakhare.textdrawable 1.0.1
com.google.firebase:firebase-bom 28.4.2
io.arrow-kt:arrow-core 1.1.2
io.arrow-kt:arrow-fx-coroutines 1.1.2
com.chrynan.uri:uri-core 0.3.3
com.google.guava:listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
io.github.hoc081098:FlowExt 0.3.0
com.github.hoc081098:ViewBindingDelegate 1.3.1
buildSrc/src/main/kotlin/com/hoc/comicapp/plugin/ComicAppPlugin.kt
gradle.properties
settings.gradle.kts
spotless.gradle.kts
build.gradle.kts
app/build.gradle.kts
junit:junit 4.13.2
androidx.test:runner 1.5.2
androidx.test.espresso:espresso-core 3.5.1
base-ui/build.gradle.kts
junit:junit 4.13.2
androidx.test.ext:junit 1.1.5
androidx.test.espresso:espresso-core 3.5.1
buildSrc/build.gradle.kts
domain/build.gradle.kts
features/feature-home/build.gradle.kts
junit:junit 4.13.2
androidx.test.ext:junit 1.1.5
androidx.test.espresso:espresso-core 3.5.1
navigation/build.gradle.kts
junit:junit 4.13.2
androidx.test.ext:junit 1.1.5
androidx.test.espresso:espresso-core 3.5.1
utils/build.gradle.kts
junit:junit 4.13.2
androidx.test.ext:junit 1.1.5
androidx.test.espresso:espresso-core 3.5.1
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
Describe the bug
App is crashing on startup.
To Reproduce
Steps to reproduce the behavior:
Click on app icon
See error
Expected behavior
A clear and concise description of what you expected to happen.
Logs
https://paste.evolution-x.org/6ic4xi
Smartphone (please complete the following information):
Device: Redmi Note 8 Pro
OS: Android 12.1
Browser: Chrome
Version: Latest
Additional context
Add any other context about the problem here.
Hey there!
I belong to an open source security research community, and a member (@vanlan12 ) has found an issue, but doesn’t know the best way to disclose it.
If not a hassle, might you kindly add a SECURITY.md
file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.
Thank you for your consideration, and I look forward to hearing from you!
(cc @huntr-helper )
Describe the bug
Spinner does not show when select
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
Device: [e.g. Xiaomi Redmi 7a]
OS: [e.g. Android API 28]
Additional context
Add any other context about the problem here.
Crash in CategoryDetailFragment when landscape screen orientation