← all publishers

thetruong1099

@thetruong1099 source repo

11 published skills

  1. Data Layer · thetruong1099
    Data layer architecture patterns for this project. Use when implementing repositories (interface in domain/repository, impl in data/remote-data), data sources extending BaseDataSource with fetchData/fetchRestData/fetchPagingData, mappers using BaseMapper or BidirectionalMapper, Hilt DI modules for repositories/data sources, or custom PagingSource classes.
    0
    installs
  2. Mvi Pattern · thetruong1099
    Implements MVI (Model-View-Intent) pattern for Android feature development. Use when creating new feature ViewModels, defining ViewState/ViewEvent/ViewEffect, handling data loading with callPagingDataWithInternet or collectDataStateWithInternet, structuring Screen composables with stateful/stateless split, or handling navigation via effects.
    0
    installs
  3. Code Quality · thetruong1099
    Code quality guidelines for this project. Covers ktlint configuration and commands, architecture/Kotlin/Compose/error/testing review checklists, git branch naming and commit message conventions, and module dependency enforcement rules. Automatically applied during code review.
    0
    installs
  4. Error Handling · thetruong1099
    Error handling flow from data layer to UI. Use when implementing AppError handling in ViewModels with showErrorToast, adding new error types to AppError sealed class, extending ExceptionMapper for new infrastructure exceptions, extending ErrorHandler for new UI messages, or understanding the complete Exception to AppError to Toast flow.
    0
    installs
  5. Kotlin Patterns · thetruong1099
    Kotlin coding patterns for this project. Provides guidance on scope functions, collection operations with sequences, sealed class handling, extension functions, coroutine patterns, null safety, and data class usage. Automatically applied when writing Kotlin code in this codebase.
    0
    installs
  6. Testing Strategy · thetruong1099
    Testing patterns for this project. Use when writing ViewModel unit tests with MainDispatcherRule and MockK, UseCase tests mocking repositories, Repository tests with data source mocks, or Compose UI tests with FakeBaseViewModel and TemplateThemePreview. Covers Google Truth assertions and test naming conventions.
    0
    installs
  7. Kotlin Concurrency · thetruong1099
    Kotlin coroutine and Flow patterns for this project. Covers when to use Flow vs suspend in BaseViewModel, Flow operators (map/filter/combine/flatMapLatest/debounce), StateFlow vs Channel vs SharedFlow, Dispatcher selection, structured concurrency with coroutineScope and supervisorScope, and cancellation patterns.
    0
    installs
  8. Android Performance · thetruong1099
    Android performance best practices for this project. Covers Compose stability and recomposition reduction, LazyList optimization with stable keys and contentType, image loading with Coil, Paging3 caching with cachedIn, memory management avoiding Context in ViewModels, and ProGuard rules for Moshi and Konvert.
    0
    installs
  9. Compose Conventions · thetruong1099
    Jetpack Compose UI conventions for this project's screens. Use when creating composable screens (XxxScreen/XxxScreenInternal pattern), using BaseScreenComponent, applying MaterialTheme.spacing for padding, writing @Preview composables with FakeBaseViewModel, handling PagingData with rememberPagingRefreshState, or setting up navigation with LocalAppNavController.
    0
    installs
  10. Compose Performance · thetruong1099
    Jetpack Compose performance optimization patterns for this project. Covers recomposition rules, type stability with @Immutable/@Stable, lambda stability for callbacks, deferred state reads, PagingData with stable item keys, animation performance, and debugging recomposition with Layout Inspector.
    0
    installs
  11. Project Architecture · thetruong1099
    Module structure, dependency rules, and naming conventions for the Android MVI Template. Use when creating new feature or domain modules, understanding which modules can depend on which, choosing convention plugins for build.gradle.kts, following naming conventions for ViewModels/UseCases/Repositories/Screens, or adding screens to the navigation graph.
    0
    installs