awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
android10 avatar

android10/Android-CleanArchitecture-Kotlin

0
View on GitHub↗
4,811 stars·932 forks·Kotlin·8 viewsfernandocejas.com/2018/05/07/architecting-android-reloaded↗

Android CleanArchitecture Kotlin

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 sources.

The architecture incorporates feature-based package organization and modular build configurations to maintain consistency across the project. It also includes a comprehensive testing strategy that combines unit tests for business logic with instrumentation for the UI and mock modules for data layer validation.

Features

  • Android App Architecture Patterns - Demonstrates structural design patterns and Clean Architecture principles for building maintainable Android applications.
  • Kotlin Android Starter Kits - Provides a comprehensive Kotlin Android starter kit demonstrating Clean Architecture principles.
  • Data Source Routing - Provides a repository implementation that routes data requests between memory, disk, or cloud sources based on availability.
  • Android App Modularization - Employs strategies for decoupling the application into independent feature modules to optimize structure and build consistency.
  • Repository Pattern Abstractions - Implements the repository pattern to abstract data access and decouple the domain from specific persistence details.
  • Clean Architecture Frameworks - Utilizes a clean architecture framework to enforce the separation of business logic from infrastructure.
  • Feature-Based Code Organizations - Organizes source code by functional feature domains into dedicated directories to improve cohesion in multi-module projects.
  • Multi-Module Architectures - Employs a multi-module architecture that separates the application into presentation, domain, and data layers.
  • Dependency Injection - Demonstrates techniques for decoupling software components using a dependency injection framework.
  • Constructor-Based Injections - Employs constructor-based injection to provide required collaborators and improve the testability of components.
  • Logic and Presentation Separation - Separates business logic and data fetching from visual components to keep the UI independent.
  • MVVM Patterns - Implements the Model-View-ViewModel pattern to separate business logic from the user interface.
  • Use Case Orchestrators - Provides dedicated use-case orchestrators to coordinate interactions between external interfaces and domain entities.
  • Model-View-ViewModel - Implements the Model-View-ViewModel pattern to keep the presentation layer independent of the underlying business logic.
  • Business Logic Isolation - Isolates core business rules into a pure module independent of the user interface and external frameworks.
  • Domain Workflow Orchestration - Provides an abstraction layer that coordinates domain services and data retrieval to fulfill specific business use cases.
  • Build Logic Centralizations - Centralizes build configurations and dependency versions within dedicated directories to ensure consistency across modules.
  • Result - Uses sum types via sealed classes to encode operation outcomes as distinct success or failure variants.
  • Dependency Scopes - Constrains the lifetime of injected objects using scopes such as application-wide or activity-specific lifecycles.
  • Asynchronous Control Flow - Implements patterns for managing asynchronous operations to ensure the user interface remains responsive during business logic execution.
  • Asynchronous Error Handling - Provides patterns for managing and propagating errors occurring within asynchronous data flows.
  • Background Thread Dispatchers - Utilizes background thread dispatchers to isolate heavy processing tasks from the main UI thread.
  • Dependency Injection Frameworks - Integrates a dependency injection framework to manage component lifecycles and facilitate mock-based testing.
  • Android Injection Systems - Implements injection systems that simplify wiring and threading specifically within Android components.
  • Automated Dependency Wiring - Automates the wiring of service instances to minimize boilerplate configuration and decouple classes.
  • Full-Stack Architectural Testing - Provides a comprehensive testing strategy combining unit, instrumentation, and simulated environment tests.
  • Isolated Layer Testing - Implements testing strategies that verify the presentation, domain, and data layers independently.
  • Android Environment Testing - Validates business logic and data layers using mocks within an Android-simulated test environment.
  • Background Processing - Offloads heavy business logic to background threads to ensure the user interface remains responsive.
  • Sample Projects - Sample app architected using different approaches

Star history

Star history chart for android10/android-cleanarchitecture-kotlinStar history chart for android10/android-cleanarchitecture-kotlin

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

Open-source alternatives to Android CleanArchitecture Kotlin

Similar open-source projects, ranked by how many features they share with Android CleanArchitecture Kotlin.
  • bufferapp/android-clean-architecture-boilerplatebufferapp avatar

    bufferapp/android-clean-architecture-boilerplate

    3,684View on GitHub↗

    This project is a clean architecture reference implementation and modular project template for Android development. It provides a structural blueprint designed to isolate business logic from external frameworks and user interfaces. The template emphasizes a modular approach to organize code into independent modules, which is intended to improve build times and long-term project scalability. It demonstrates the application of domain-driven design to keep core business rules and entities independent from the underlying platform. The implementation covers several key architectural patterns, inc

    Kotlinandroidandroid-applicationandroid-architecture
    View on GitHub↗3,684
  • kotlin-android-open-source/mvi-coroutines-flowKotlin-Android-Open-Source avatar

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

    1,106View on GitHub↗

    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 an

    Kotlinandroid-arrow-ktandroid-mviandroid-mvi-architecture
    View on GitHub↗1,106
  • amitshekhariitbhu/go-backend-clean-architectureamitshekhariitbhu avatar

    amitshekhariitbhu/go-backend-clean-architecture

    6,059View on GitHub↗

    This is a Go backend template that structures a web service into domain, usecase, controller, and repository layers with strict dependency inversion. It provides a foundation for building maintainable and testable REST APIs by separating business logic from transport and data access concerns. The project implements JWT-based authentication, issuing access and refresh tokens for user signup, login, and protected endpoint access. It uses the Gin HTTP framework to build a Docker-packaged REST API with public and private route groups, request validation, and middleware-based authentication. Depen

    Goapiarchitecturebackend
    View on GitHub↗6,059
  • prismlibrary/prismPrismLibrary avatar

    PrismLibrary/Prism

    6,794View on GitHub↗

    Prism is a XAML application framework and MVVM architectural framework designed to build loosely coupled and testable applications across WPF, Xamarin Forms, and WinUI. It serves as a structural pattern implementation that separates business logic from the user interface to improve maintainability and testing. The framework provides a XAML event bus for exchanging data and triggering actions between independent components without direct coupling. It also functions as a dependency injection integrator, bridging external inversion-of-control containers to manage service delivery across multiple

    C#c-sharphacktoberfestmvvm
    View on GitHub↗6,794
See all 30 alternatives to Android CleanArchitecture Kotlin→

Frequently asked questions

What does android10/android-cleanarchitecture-kotlin do?

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.

What are the main features of android10/android-cleanarchitecture-kotlin?

The main features of android10/android-cleanarchitecture-kotlin are: Android App Architecture Patterns, Kotlin Android Starter Kits, Data Source Routing, Android App Modularization, Repository Pattern Abstractions, Clean Architecture Frameworks, Feature-Based Code Organizations, Multi-Module Architectures.

What are some open-source alternatives to android10/android-cleanarchitecture-kotlin?

Open-source alternatives to android10/android-cleanarchitecture-kotlin include: bufferapp/android-clean-architecture-boilerplate — This project is a clean architecture reference implementation and modular project template for Android development. It… kotlin-android-open-source/mvi-coroutines-flow — This framework provides a structured implementation of the Model-View-Intent pattern for Android applications. It… amitshekhariitbhu/go-backend-clean-architecture — This is a Go backend template that structures a web service into domain, usecase, controller, and repository layers… prismlibrary/prism — Prism is a XAML application framework and MVVM architectural framework designed to build loosely coupled and testable… kudoleh/ios-clean-architecture-mvvm — This project is a SwiftUI app template and architectural blueprint for building iOS applications. It implements Clean… threedotslabs/wild-workouts-go-ddd-example — This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query…