awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Kotlin-Android-Open-Source avatar

Kotlin-Android-Open-Source/MVI-Coroutines-Flow

0
View on GitHub↗
1,106 stars·115 forks·Kotlin·MIT·16 viewsgithub.com/hoc081098↗

MVI Coroutines Flow

This framework provides a structured implementation of the Model-View-Intent pattern for Android applications. It enforces a unidirectional data flow where user intents trigger state updates, which are then propagated through reactive streams to ensure consistent and predictable interface rendering.

The architecture relies on immutable state objects to represent application data, ensuring that updates are handled as complete replacements rather than partial modifications. By leveraging Kotlin Coroutines and reactive stream primitives, the framework coordinates asynchronous background tasks and interface updates, maintaining a single source of truth that remains synchronized with underlying data sources.

The system integrates with dependency injection containers to decouple business logic from the user interface, facilitating modularity and simplifying the testing of domain and data layers. It includes support for validating state transitions and data processing through unit tests across the view model and domain layers.

Features

  • Android - Implements the Model-View-Intent pattern for Android to ensure predictable state management and unidirectional data flow.
  • StateFlow State Management - Implements reactive UI state management using Kotlin Flow primitives to ensure consistent and predictable interface updates.
  • Unidirectional Data Flow Architectures - Enforces a strict, predictable cycle where user intents trigger state updates through a unidirectional pipeline.
  • Coroutine-Based Asynchronous I/O - Uses coroutine abstractions to manage high-concurrency background tasks without blocking the main thread.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
  • Reactive Programming for Kotlin - Coordinates asynchronous background tasks and UI updates using reactive programming paradigms and Kotlin idioms.
  • Application Logic Implementations - Organizes application logic by separating state, intents, and interface updates into distinct, predictable layers.
  • Asynchronous Task Orchestration - Manages background operations and thread switching to maintain application responsiveness using coroutine-based orchestration.
  • Android Implementations - Demonstrates concrete Android implementations of predictable, layered architectures with separated domain and presentation layers.
  • Dependency Injection Containers - Provides a container for managing object lifecycles and dependency resolution to decouple application layers.
  • Dependency Injection - Decouples application components by injecting required dependencies to simplify testing of domain and data layers.
  • Android Injection Systems - Provides dependency injection systems specifically tailored for wiring and threading within Android components.
  • Dagger - Integrates compile-time dependency injection to decouple modules and improve testability in Android applications.
  • Immutable State Patterns - Ensures predictable state transitions by creating new immutable data objects rather than modifying existing ones.
  • State Streaming - Emits application state updates as a continuous observable stream to maintain a single source of truth.
  • Unidirectional State Management - Transforms user inputs into state-changing intents and computes new immutable state objects for consistent interface rendering.
  • Business Logic Isolation - Isolates business logic from the user interface to enable independent unit testing of state transitions and data processing.
  • Android Environment Testing - Executes unit tests specifically within the Android environment to validate state transitions and data processing.
  • Reactive State Synchronization - Synchronizes the user interface with underlying data models using reactive stream primitives.
  • Star history

    Star history chart for kotlin-android-open-source/mvi-coroutines-flowStar history chart for kotlin-android-open-source/mvi-coroutines-flow

    How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

    Curated searches featuring MVI Coroutines Flow

    Hand-picked collections where MVI Coroutines Flow appears.
    • Kotlin development tools

    Frequently asked questions

    What does kotlin-android-open-source/mvi-coroutines-flow do?

    This framework provides a structured implementation of the Model-View-Intent pattern for Android applications. It enforces a unidirectional data flow where user intents trigger state updates, which are then propagated through reactive streams to ensure consistent and predictable interface rendering.

    What are the main features of kotlin-android-open-source/mvi-coroutines-flow?

    The main features of kotlin-android-open-source/mvi-coroutines-flow are: Android, StateFlow State Management, Unidirectional Data Flow Architectures, Coroutine-Based Asynchronous I/O, Reactive Programming for Kotlin, Application Logic Implementations, Asynchronous Task Orchestration, Android Implementations.

    Which projects share features with kotlin-android-open-source/mvi-coroutines-flow?

    Projects with overlapping indexed features include: krasimir/react-in-patterns — This project is a comprehensive guide to architectural patterns and design techniques for building modular user… android10/android-cleanarchitecture-kotlin — This project is a reference Kotlin Android application template and a set of sample implementations demonstrating… airbnb/mavericks — Mavericks is an opinionated Android state management framework that structures screen-level state as a single… chrisbanes/tivi — Tivi is a cross-platform application for discovering and tracking television shows, built with Kotlin Multiplatform… pointfreeco/swift-composable-architecture — This is a Swift state management framework and application logic library designed for building applications with a… alexeymezenin/laravel-best-practices — This project is a comprehensive guide to architectural standards and coding patterns for developing maintainable…

    Projects sharing features with MVI Coroutines Flow

    These projects share indexed features with MVI Coroutines Flow. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
    • krasimir/react-in-patternskrasimir avatar

      krasimir/react-in-patterns

      13,578View on GitHub↗

      This project is a comprehensive guide to architectural patterns and design techniques for building modular user interfaces with React. It focuses on structuring component hierarchies, implementing state management patterns, and decoupling services to ensure applications remain maintainable and scalable. The collection emphasizes strategies for dependency injection and the separation of business logic from presentation layers. It provides detailed approaches for utilizing containers, higher-order components, and module registries to isolate external services and third-party libraries from the

      JavaScriptdata-flowdependencyinjection
      View on GitHub↗13,578
    • android10/android-cleanarchitecture-kotlinandroid10 avatar

      android10/Android-CleanArchitecture-Kotlin

      4,811View on GitHub↗

      This project is a reference Kotlin Android application template and a set of sample implementations demonstrating Clean Architecture principles. It provides a structural design that isolates core business rules from the user interface and data sources into distinct, layered modules. The implementation focuses on the Model-View-ViewModel (MVVM) pattern to decouple UI logic from data models. It utilizes a dependency injection framework to automate object creation and manage component lifecycles, while employing a repository pattern to abstract data requests across memory, disk, and cloud source

      Kotlinandroidandroid-cleanarchitecture-kotlinandroid-development
      View on GitHub↗4,811
    • airbnb/mavericksairbnb avatar

      airbnb/mavericks

      5,934View on GitHub↗

      Mavericks is an opinionated Android state management framework that structures screen-level state as a single immutable object and processes user actions through a unidirectional data flow. It enforces state immutability to prevent unintended mutations and simplify debugging, while managing state subscriptions and cleanup based on Android lifecycle events to prevent memory leaks. The framework uses a ViewModel-driven architecture where business logic and state management are encapsulated in ViewModels that survive configuration changes. User actions are handled through dedicated intent object

      Kotlin
      View on GitHub↗5,934
    • chrisbanes/tivichrisbanes avatar

      chrisbanes/tivi

      6,732View on GitHub↗

      Tivi is a cross-platform application for discovering and tracking television shows, built with Kotlin Multiplatform and Compose Multiplatform to share its user interface across Android, iOS, and desktop platforms. The app follows the Model-View-Intent (MVI) architecture pattern, where user actions are modelled as sealed class intents that reduce into a single immutable state object, ensuring predictable and unidirectional data flow managed through Kotlin coroutines and StateFlow. The application uses Hilt for compile-time dependency injection and SQLDelight for type-safe local data storage, c

      Kotlinandroid-applicationjetpack-composekotlin
      View on GitHub↗6,732
    Compare all 30 related projects→