30 open-source projects similar to bufferapp/android-clean-architecture-boilerplate, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Android Clean Architecture Boilerplate alternative.
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
This project is a technical resource and pattern library for building enterprise applications with Python. It serves as a guide for implementing clean architecture, providing a framework for separating core business logic from infrastructure and external frameworks. The material focuses on Domain-Driven Design and the application of architectural patterns to maintain complex business requirements. It provides specific guidance on the Repository pattern for data abstraction, Command-Query Responsibility Segregation for optimizing read and write paths, and the use of dependency inversion to dec
This is a reference implementation of Uncle Bob's clean architecture for Android, structured into distinct domain, data, and presentation layers. The project demonstrates how to organize an Android application around business use cases, keeping domain logic and entities free from framework dependencies. The architecture enforces dependency inversion through layered separation, where inner domain layers define interfaces that outer layers implement. This approach enables repository abstractions for data source switching, presenter-view separation for testable UI logic, and use-case composition
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
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
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
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 project is a reference implementation of domain-driven design patterns and a sample of command query responsibility segregation. It provides a collection of event-driven microservices that demonstrate the practical application of architectural principles for structuring complex software systems. The implementation separates read and write models through an event journal and organizes services into bounded contexts to maintain clear functional boundaries. It coordinates business logic by dispatching and consuming domain events to synchronize different modules. The project covers a 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 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 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 reference implementation of the Model-View-Presenter (MVP) architecture for Android applications. It focuses on separating business logic from the user interface by decoupling data logic, UI presentation, and view layers. The implementation distinguishes itself through the inclusion of a boilerplate generator that automatically creates the activity, presenter, and view files required for the MVP pattern. It utilizes a compile-time dependency injection framework to manage object lifetimes and a reactive programming workflow to handle asynchronous data streams and event propag
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 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 database abstraction layer for Laravel that implements the repository pattern to decouple business logic from Eloquent database queries. It provides a standardized interface for data retrieval, pagination, and filtering. The system includes a query criteria mechanism for applying reusable search conditions based on request parameters and a caching wrapper that automatically clears stored results during record creation, updates, or deletions. It also features a presentation layer to transform raw database model attributes into formatted output for user interfaces. Additional
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 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 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
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
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
EquinoxProject is an ASP.NET 9 web application template and reference implementation for building enterprise software. It provides a structural boilerplate centered on clean architecture, domain-driven design, and the separation of read and write operations through a command query responsibility segregation framework. The project incorporates event sourcing to track the history of business entities as a sequence of events for auditing and state reconstruction. It utilizes a layered approach to decouple business logic from external dependencies and frameworks. The system includes capabilities
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 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 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
COLA is a core architectural toolkit for Java applications designed around domain-driven design and a clean, object-oriented layered architecture. It provides a framework for managing project structures, implementing domain-driven entity modeling, and organizing enterprise application architecture to decouple business logic from technical dependencies. The project features a pluggable logic extension system that allows for the addition of new functionality through defined extension points without modifying the core codebase. It also includes a project bootstrapping toolkit and an integration
This project is a structured learning path and skill roadmap designed to guide developers through the Android ecosystem. It serves as a mobile engineering curriculum and career guide, organizing the technical knowledge required to build scalable applications from basic concepts to advanced professional skills. The guide differentiates itself by providing a hierarchical map of required knowledge, sequencing technical topics into a logical order. It includes a curated collection of study resources and technical documentation, along with tools to track learning progress through the specified cur
This project is a reference implementation and architectural sample of Domain-Driven Design. It serves as a codebase demonstrating how to align software design with a specific business domain to manage complex business logic. The implementation functions as a reporting system that receives and processes data via JSON payloads. It utilizes a structured domain model to define and automate business workflows and handle state changes. The architecture partitions the system into distinct application and domain layers, utilizing aggregate roots for consistency and the repository pattern for data a
This project is a reference implementation for building scalable applications in TypeScript using Domain-Driven Design. It provides a structured codebase template that organizes business logic through tactical design patterns and strategic modeling to ensure the software reflects specific business requirements. The architecture utilizes a hexagonal pattern to isolate core business logic from external infrastructure concerns such as databases and delivery mechanisms. It implements Command Query Responsibility Segregation to separate data modification operations from information retrieval tasks
Android-Boilerplate is a modular Android project template pre-configured with dependency injection, reactive streams, and testing tools to accelerate mobile application development. The codebase integrates Dagger for managing component dependencies and object lifecycles, and implements RxJava for asynchronous data streams and event-driven application state management. The application architecture incorporates a pre-configured testing suite using Espresso and Mockito for executing both unit and user interface instrumentation tests. Data handling includes local-first database persistence along
This project is a curated collection of technical interview guides and reference materials focused on Android development and system architecture. It provides a structured set of daily interview questions and detailed answers designed to help software engineers prepare for professional job interviews. The repository includes specific study guides for Kotlin programming language fundamentals and Android architecture patterns. These materials are organized into categorized technical problems and solutions across various computer science domains relevant to mobile engineering. The content is de