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
android avatar

android/architecture-samples

0
View on GitHub↗
45,719 stars·11,865 forks·Kotlin·Apache-2.0·16 views

Architecture Samples

This project is a collection of reference implementations demonstrating recommended patterns for organizing code and managing data flow in Android applications. It provides structural examples of layered architecture, separating code into presentation, domain, and data layers to decouple business logic from data sources.

The repository includes specific samples for implementing declarative user interfaces that automatically update their visual state based on underlying data changes. It further demonstrates how to manage object lifetimes and component dependencies to reduce boilerplate and simplify modular testing.

The project covers a broad range of architectural capabilities, including the implementation of single-activity navigation, repository-based data access, and reactive data streams. It also provides a testing strategy guide for executing unit, integration, and end-to-end tests across emulators and physical devices.

Features

  • Android Architectures - Provides reference implementations of structural patterns and modularization strategies for organizing Android application codebases.
  • Layered Architectures - Provides a reference implementation of a layered architecture separating presentation, domain, and data concerns.
  • Repository Patterns - Uses a repository-based data access pattern to separate the presentation layer from local and remote data sources.
  • Data Access Patterns - Employs the repository pattern to separate domain logic from persistence layers for local and remote data.
  • State-Driven Data Flow Architectures - Constructs views as functions of state that automatically recompose when the underlying data stream changes.
  • Android Dependency Management - Demonstrates specialized dependency injection implementations for managing object lifetimes within the Android platform.
  • Dependency Injection Frameworks - Implements inversion of control to manage object lifetimes and component dependencies for improved modularity.
  • Dependency Injection - Decouples software components by injecting dependencies to simplify modular testing and object lifecycle management.
  • Application Architecture Patterns - Provides reference implementations of high-level structural patterns for organizing Android application layers and data flow.
  • Declarative UI Paradigms - Demonstrates a programming model where the interface state is described and automatically reconciled by the system.
  • Declarative UI Toolkits - Demonstrates the use of toolkits that synchronize application state with UI elements through reactive data-binding.
  • Reactive Data Bindings - Implements asynchronous flows that automatically synchronize the user interface with underlying data changes.
  • Reactive UI Frameworks - Builds reactive user interfaces that automatically update their visual state based on state changes.
  • Reactive User Interfaces - Syncs the user interface state with underlying data streams using asynchronous operations to keep displays current.
  • Single-Activity Architectures - Implements a single-activity navigation model centering the application on one entry point.
  • Single Page Applications - Organizes the mobile application around a single entry point using a centralized navigation framework.
  • Mobile End-to-End Testing - Executes automated user journey tests specifically across mobile operating systems and native interfaces.
  • Multi-Level Testing Strategies - Offers a comprehensive testing strategy guide covering unit, integration, and end-to-end tests on physical and virtual devices.
  • Architecture Blueprints - Demonstrates strategies to solve common development problems.
  • Code Samples And Demos - A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.

Star history

Star history chart for android/architecture-samplesStar history chart for android/architecture-samples

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.

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

Frequently asked questions

What does android/architecture-samples do?

This project is a collection of reference implementations demonstrating recommended patterns for organizing code and managing data flow in Android applications. It provides structural examples of layered architecture, separating code into presentation, domain, and data layers to decouple business logic from data sources.

What are the main features of android/architecture-samples?

The main features of android/architecture-samples are: Android Architectures, Layered Architectures, Repository Patterns, Data Access Patterns, State-Driven Data Flow Architectures, Android Dependency Management, Dependency Injection Frameworks, Dependency Injection.

Which projects share features with android/architecture-samples?

Projects with overlapping indexed features include: android/sunflower — Sunflower is a reference implementation designed to demonstrate modern Android development patterns and… liangxiegame/qframework — QFramework is a Unity game architecture framework designed to separate presentation, system, and data logic. It… insertkoinio/koin — Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves… sergdort/cleanarchitecturerxswift — This project is a Swift iOS architecture template that implements the Clean Architecture pattern. It organizes… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… lhorie/mithril.js — Mithril.js is a JavaScript framework for building single page applications. It functions as a virtual DOM library and…

Projects sharing features with Architecture Samples

These projects share indexed features with Architecture Samples. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • android/sunflowerandroid avatar

    android/sunflower

    17,774View on GitHub↗

    Sunflower is a reference implementation designed to demonstrate modern Android development patterns and industry-standard architectural practices. It serves as a comprehensive guide for building functional mobile applications by integrating declarative user interface toolkits with robust data management and navigation systems. The project distinguishes itself by showcasing the transition from legacy view-based systems to modern declarative frameworks. It provides a practical example of how to organize code into distinct layers, manage complex state, and implement dependency injection to ensur

    Kotlin
    View on GitHub↗17,774
  • insertkoinio/koinInsertKoinIO avatar

    InsertKoinIO/koin

    9,992View on GitHub↗

    Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves dependencies through a lightweight container. It functions as a multiplatform library, allowing shared object definitions and resource bindings to be reused across different target platforms and source sets. The framework provides a system for resolving dependencies directly within user interface components to decouple business logic from view implementations. It includes a compile-time dependency validator that analyzes dependency graphs during the build process to detect missing bindi

    Kotlinandroiddependency-injectioninjection
    View on GitHub↗9,992
  • liangxiegame/qframeworkliangxiegame avatar

    liangxiegame/QFramework

    5,163View on GitHub↗

    QFramework is a Unity game architecture framework designed to separate presentation, system, and data logic. It implements a layered software architecture to manage complex game states and provides a game engine utility library to reduce boilerplate code. The framework is centered on the Command Query Responsibility Segregation pattern, which separates data modification commands from data retrieval queries. It utilizes a dependency injection container to manage the lifecycles and resolution of singletons and modular components, alongside an event-driven system for state synchronization to pre

    C#frameworksgame-devgodot
    View on GitHub↗5,163
  • sergdort/cleanarchitecturerxswiftsergdort avatar

    sergdort/CleanArchitectureRxSwift

    4,100View on GitHub↗

    This project is a Swift iOS architecture template that implements the Clean Architecture pattern. It organizes software into distinct layers to decouple business rules from external frameworks, user interfaces, and infrastructure to improve testability and maintenance. The template incorporates Domain Driven Design to isolate core business logic and utilizes a modular application structure to divide features into independent modules. It employs the Coordinator pattern to remove routing logic from view controllers and a dependency injection framework to ensure components remain independent and

    Swift
    View on GitHub↗4,100
  • Compare all 30 related projects→