30 open-source projects similar to android10/android-cleanarchitecture-kotlin, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Android CleanArchitecture Kotlin alternative.
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
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
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
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
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 reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin
This project is a PHP dependency injection container and framework designed to centralize object construction and manage class dependencies. It serves as a service container and configuration registry that automates object lifecycles and manages references between services to decouple application components from their specific dependencies. The system handles the instantiation and wiring of objects through both constructor and setter injection. It provides a centralized registry for storing reusable parameters and service definitions, which prevents the hardcoding of settings across the appli
Implementation of a bulletproof node.js API 🛡️
This project provides a standardized architectural framework for building scalable, full-stack enterprise applications. It serves as a foundational boilerplate that enforces clean architecture principles, ensuring that business logic remains isolated from infrastructure concerns and external data persistence details. By organizing code into feature-based modules rather than technical roles, the framework simplifies navigation and maintenance within large, complex codebases. The architecture distinguishes itself through a mediator-based communication model that decouples application layers and
EffectiveAndroidUI is a collection of reference implementations and sample projects demonstrating Android UI architectural patterns, navigation strategies, and resource management techniques. It provides practical examples of implementing Model-View-Presenter and Model-View-ViewModel patterns to separate business logic from the user interface. The project features demonstrations of centralized screen transition logic and communication between fragments. It includes examples of resource management using custom qualifiers to organize assets and adapt layouts based on screen density and size. T
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
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 comprehensive guide to architectural standards and coding patterns for developing maintainable applications within the Laravel framework. It focuses on clean code standards, applying the single responsibility and DRY principles to ensure codebase predictability and consistency. The guide emphasizes decoupling components by moving business logic into service layers and shifting input validation into dedicated request classes to keep controllers lean. It advocates for the use of a service container and dependency injection to reduce class coupling and improve testability. The
re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur
Inject is a dependency injection framework for Go that automates the assembly of complex object graphs. By leveraging runtime reflection, the library dynamically inspects object structures to resolve and populate required dependencies, decoupling component initialization from business logic. The framework manages object lifecycles through both singleton and factory-based provisioning. It maintains a central registry to share singletons across an application for consistent state, while also supporting the creation of unique, private instances to isolate state between different components. To
This project provides a structured boilerplate for building Node.js REST APIs, implementing clean architecture principles to isolate business logic from external frameworks and data sources. It serves as a template for organizing complex backend services by enforcing a strict separation of concerns between domain entities, infrastructure, and interface layers. The architecture distinguishes itself through a modular, plugin-based server design built on the Hapi.js framework. It utilizes a dependency injection container to decouple business logic from concrete implementations, ensuring that ser
This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro
This is an open-source Android application that serves as a reference implementation for modern app architecture. It demonstrates a modular, testable structure built with Kotlin, Coroutines, and Jetpack libraries, organized into independent feature modules that each follow Clean Architecture and the MVVM pattern. The project enforces coding standards through an automated static analysis pipeline that integrates linting, formatting checks, and code quality tools directly into the build process, failing the build on any violations. It uses reusable Gradle convention plugins to standardize build
MVVMHabit is an Android development framework and base library that implements the MVVM architecture using Android Architecture Components. It provides a pre-integrated foundation designed to decouple business logic from user interface rendering and lifecycle management. The project distinguishes itself by bundling a comprehensive set of architectural templates, including a reactive event bus for decoupled component communication, token-based data exchange between logic instances, and a single-activity fragment hosting system to reduce manifest overhead. The framework covers broad capability
Mosby is a presentation layer framework for Android applications designed to manage application state and user intents. It functions as an architectural tool that implements both Model-View-Intent (MVI) and Model-View-Presenter (MVP) patterns. The framework utilizes a unidirectional data flow to maintain a single source of truth, ensuring that state updates remain predictable by processing intents through a single logic path. It separates business logic from the view layer to decouple presentation logic from Android Activity and Fragment classes. The system provides capabilities for state ma
LearningNotes is a technical knowledge base and engineering study guide focused on Android framework internals, system architecture, and mobile performance optimization. It serves as a reference for analyzing the Android boot sequence, process bootstrapping, and system service initialization. The project provides detailed guides on mobile performance, including strategies for reducing memory footprints, identifying memory leaks, and optimizing image decoding. It further covers Android inter-process communication using AIDL and the Binder kernel driver, as well as software architecture manuals
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
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
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 provides a set of Android development guidelines, architecture standards, and a coding style guide. It establishes uniform formatting and implementation rules to ensure code consistency and maintainability for applications built on the Android platform. The project includes a standardized project structure template that defines consistent folder hierarchies and file layouts. These standards are designed to maintain a predictable development experience across multiple workstreams. The guidelines cover architectural patterns including layer-based separation of business logic and p
Small-Spring is a simplified Java implementation of the Spring framework designed to study the internal architecture of inversion of control containers and dependency injection frameworks. It functions as a bean container that manages object lifecycles and resolves dependencies through automated instantiation and property injection. The project implements a mechanism for intercepting method calls using dynamic proxies to support aspect-oriented programming. It separates cross-cutting concerns from business logic by wrapping target objects to modify method executions. The system covers compon
This repository is a collection of Swift programming examples and an iOS app architecture reference. It provides a set of small applications and refactored projects that demonstrate the practical application of the Swift language, system frameworks, and user interface components. The project serves as a design pattern reference for implementing professional software architecture. It covers the application of Model-View-ViewModel, protocol-oriented programming, and dependency injection to decouple components and increase code reuse. Additional resources focus on test-driven development, provi
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 collection of curated guidelines and manuals for writing clean, idiomatic, and maintainable code in Scala. It serves as a comprehensive guide for Scala coding standards, functional programming design, and enterprise software architecture. The repository provides specific strategies for concurrency management, including patterns for actors, futures, and thread pools to ensure thread safety. It also contains a performance optimization manual focused on reducing memory allocations and managing garbage collection pressure to improve runtime efficiency. The guides cover a broad
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