30 open-source projects similar to android10/android-cleanarchitecture, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Android CleanArchitecture alternative.
This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It serves as an architecture template and layering guide, dividing application code into view, domain, and data layers to ensure a unidirectional flow of dependencies. The implementation focuses on state management and configuration change handling. It demonstrates how to synchronize UI updates across multiple screens using shared state containers and preserves application state during transitions between portrait and landscape orientations. The codebase covers a broad surface of
This project is a reference implementation for structuring Java applications using clean architecture and domain-driven design principles. It provides a template for organizing code into concentric layers, ensuring that core business rules and domain entities remain entirely independent of external frameworks, databases, and delivery mechanisms. The architecture relies on the dependency inversion principle to decouple business logic from infrastructure. By defining abstract interfaces for data access and external services, the system allows for the replacement of underlying technologies witho
This project is a boilerplate and template for Go applications implementing Clean Architecture. It provides a standardized project structure designed to organize code into decoupled layers, ensuring that core business logic remains independent of databases, frameworks, and user interfaces. The implementation focuses on a domain-driven design that utilizes dependency injection and the repository pattern to abstract data storage. It enforces architectural boundaries through internal package encapsulation and layer-based dependency inversion. The project includes a development toolchain that au
This project is a .NET Clean Architecture template designed to separate domain logic from infrastructure and web frameworks. It provides a project structure for C# applications and a React Redux frontend, creating a testable backend focused on maintainability. The implementation centers on Domain Driven Design, modeling core business domains using entities and value objects to manage complex requirements. It utilizes a decoupled architecture to ensure that business logic remains independent of external frameworks and database technologies. The project covers full stack application bootstrapp
This project is a collection of software engineering principles and architectural design patterns designed to minimize the mental effort required to understand and maintain source code. It serves as a guide for implementing clean code methodologies and architectural simplification to reduce the overall cognitive load on developers. The framework emphasizes aligning module boundaries and ubiquitous language with business stakeholders to prevent architectural ripple effects. It advocates for balancing service granularity to avoid the overhead of distributed monoliths and suggests favoring objec
This repository provides a comprehensive collection of functional code samples designed to demonstrate modern development patterns and architectural practices for the Android platform using Kotlin. It serves as a practical guide for implementing standard design patterns that decouple business logic from user interface components, ensuring that applications remain maintainable and testable. The project distinguishes itself by offering isolated, hands-on implementations of complex mobile programming tasks. It covers a wide range of capabilities, including asynchronous networking, local database
This project is an ASP.NET Core solution template and boilerplate that implements a clean architecture pattern for building enterprise applications and web API backends. It provides a standardized project scaffold designed to separate business logic from infrastructure and user interfaces to ensure high testability and low coupling. The project features a database agnostic structure that allows for switching persistence providers without altering core business logic. It includes a command line tool for enterprise application bootstrapping, enabling the automated generation of project structur
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
This project provides a structural pattern for organizing React and TypeScript applications by decoupling business logic from user interface components and external infrastructure. It implements a layered architecture that isolates core domain rules, ensuring that the application remains independent of specific frameworks, libraries, or external service implementations. The architecture relies on dependency injection and inversion principles to manage service implementations, allowing for modularity and easier testing. By utilizing a functional core and imperative shell, the system separates
u2020 is an example Android application that demonstrates how to wire together application components using compile-time dependency injection, annotation-driven view binding, and a slide-out debug drawer. The project serves as a real-world showcase for integrating Dagger for dependency injection and Butter Knife for view binding, both of which generate code at compile time rather than relying on runtime reflection. The application features an in-memory mock server that simulates backend responses using static data, enabling development and testing without a live network. A debug drawer overla
This project is a reference library for Android development, providing source code and sample applications that demonstrate architectural patterns and the implementation of core API capabilities. It serves as a collection of reference implementations for data management, system integration, and user interface component development. The library provides specific examples for managing hardware interfaces, background tasks, and inter-process communication. It includes a gallery of user interface components and patterns for implementing accessibility features and system-level font scaling. The p
This project is a repository pattern library for Laravel applications designed to decouple business logic from database queries and storage implementation. It provides a standardized data access layer to isolate application logic from the underlying storage layer. The library includes a query filter system that translates HTTP request parameters into dynamic database filters, search criteria, and sorting logic. It features an API presenter layer to separate internal data structures from client responses and a cache manager that automatically refreshes stored database results when records are
This project is a full-stack web framework designed for building database-backed applications through a standardized architectural pattern. It provides a comprehensive suite of integrated libraries that manage the entire request-response lifecycle, from routing incoming web traffic to rendering dynamic server-side templates. By utilizing an object-relational mapping layer, the framework allows developers to define domain models that map database tables directly to application objects, simplifying data persistence, schema migrations, and complex relationship management. The framework is distin
This is a Dart state management library and architectural framework that decouples business logic from the user interface by transforming a stream of events into a stream of states. It implements a business logic component pattern to ensure that state transitions are predictable and testable. The project distinguishes itself through advanced event stream processing, providing concurrency strategies to drop, restart, or queue incoming events. It includes a dedicated state persistence layer for saving and restoring application state to maintain session continuity, as well as tools for state his
This project is a SwiftUI app template and architectural blueprint for building iOS applications. It implements Clean Architecture and the MVVM pattern to separate business logic, data access, and the user interface into distinct layers. The framework utilizes a dependency injection container to manage object lifetimes and a flow coordinator pattern to handle navigation and screen transitions independently from the view layer. The codebase includes systems for network data management, featuring remote data pagination, cache-backed retrieval, and data mapping via data transfer objects. It als
This project is a set of software engineering standards and architectural patterns for writing maintainable and refactorable TypeScript code. It provides a comprehensive guide for implementing clean code principles, focusing on the application of SOLID design and structural patterns to build decoupled systems. The framework prioritizes composition over inheritance and utilizes dependency inversion to reduce system coupling. It establishes standards for strict static typing and the use of read-only modifiers to ensure type safety and eliminate runtime errors. The guidance covers a broad range
Draper is a presentation layer framework and decorator library for Ruby on Rails that implements the view-model pattern. It serves as a proxy-based system to separate presentation logic from business models, allowing view-specific data transformations to be isolated from the underlying data. The framework provides specialized capabilities for managing how data is displayed, including the ability to wrap single objects or entire collections. It supports recursive decoration for associated models and the injection of view context and request state into decorators to allow for conditional presen
This project is an object persistence library and data mapper abstraction layer. It provides a set of shared interfaces and base classes designed to decouple domain logic from specific object mapper implementations, separating the business domain layer from the underlying data access implementation. The library includes a database schema management and migration tool for defining, versioning, and deploying incremental updates to database structures across different environments. It also functions as a document database mapper, translating object states into structured document formats for sto
Lightning is a PyTorch training framework and distributed AI training orchestrator designed to decouple core research logic from the engineering boilerplate required for model training. It functions as a deep learning workflow manager that automates the process of pretraining and finetuning models across diverse compute environments. The project distinguishes itself by providing a hardware-agnostic training wrapper, allowing the same model code to execute on CPUs, GPUs, or TPUs without modification. It further manages the scaling of workloads from single devices to multi-node clusters and ser
LoopBack Next is a Node.js API framework used for building REST and multi-protocol APIs. It functions as an OpenAPI server implementation that can either generate machine-readable specifications from code or produce implementation controllers and models from existing specifications. The framework distinguishes itself through a central dependency injection container and a repository-pattern data access layer. This architecture decouples application logic from component construction and persistent storage, allowing for a pluggable system where data sources and business logic are isolated throug
Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc
This project is a reference implementation of Domain-Driven Design patterns, functional domain modeling, and event-driven state coordination. It demonstrates the application of strategic and tactical design patterns to manage complex business requirements. The implementation utilizes a functional domain model with pure functions and immutable objects to manage state transitions and side effects. It features a Command Query Responsibility Segregation architecture to separate read and write models, alongside event-driven coordination to maintain consistency across autonomous business boundaries
This project is a collection of community-driven coding standards and best practices for developing maintainable Ruby on Rails applications. It serves as a style guide, architecture reference, and development guide to ensure consistency across a codebase. The guide provides technical recommendations for establishing naming conventions and architectural patterns. It specifically focuses on organizing models, controllers, and views to separate business logic from data persistence and user interface presentation. The documentation covers a broad range of capabilities, including RESTful API desi
eShopOnWeb is a reference application for ASP.NET Core that demonstrates a sample e-commerce site. It serves as a template for building scalable services using domain-driven design to separate business logic from infrastructure and data access. The project implements a decoupled messaging pattern through a request pipeline to separate web controllers from application logic. It utilizes a repository pattern to abstract data persistence and isolate the core application logic from the specific database storage mechanism. The application covers a broad surface of web capabilities, including user
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 sim
xboot is a full-stack rapid development platform that combines a Spring Boot backend with a Vue.js frontend. It serves as a comprehensive scaffold for building decoupled client-server architectures, featuring an admin dashboard framework and an identity provider for enterprise applications. The project distinguishes itself through a low-code approach to CRUD development, using a code generator to produce backend Java entities and frontend Vue components. It also includes a business process automation tool with a visual model designer and a BPMN workflow engine to orchestrate multi-step approv
This project is a reference implementation of the Model-View-Presenter architecture for Android applications. It serves as a structural example of how to separate business logic from the user interface through a presenter-based framework. The implementation focuses on a clean architecture approach, using presenters to mediate all communication between the data model and the view. It employs a passive view pattern and interface-based decoupling to isolate the user interface from domain rules. The architecture incorporates interactor-based domain logic and layered separation to reduce systemic
yii2_fecshop is a comprehensive B2C e-commerce platform and CMS built on the Yii2 PHP framework. It functions as a headless commerce API and an international storefront solution, supporting both single-vendor stores and multi-vendor marketplaces where independent merchants can manage their own products and orders. The system is distinguished by a multi-entry point architecture that separates administrative, web, mobile, and API interfaces while sharing a common service layer. It provides high extensibility through configuration-driven service replacement, event-driven functional extensions, a
This project is a business rules management system and rule engine designed to define, execute, and manage complex business logic decoupled from application source code. It provides a business logic compiler that transforms human-readable rule definitions into executable models for high-performance runtime evaluation. The system includes a complex event processing engine for analyzing real-time data streams to identify temporal patterns and a decision model and notation executor that processes structured logic based on industry standards for deterministic results. It utilizes an inference eng
This project is a comprehensive guide and set of engineering standards for writing readable, maintainable, and scalable JavaScript code. It provides a framework for software architecture, refactoring patterns, and clean coding practices designed to improve codebase health and longevity. The guide emphasizes the application of SOLID principles and architectural strategies such as dependency inversion and the separation of concerns. It focuses on transforming complex conditional logic through polymorphism and refactoring, while promoting a transition from imperative loops to declarative functio