31 Repos
Foundational libraries and templates that enforce the separation of business logic from infrastructure and presentation layers.
Distinct from Frameworks and Architectures: Distinct from general frameworks: focuses specifically on the structural enforcement of clean architecture principles rather than general-purpose web or UI frameworks.
Explore 31 awesome GitHub repositories matching software engineering & architecture · Clean Architecture Frameworks. Refine with filters or upvote what's useful.
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
Implements a clean architecture pattern that enforces the separation of business logic from infrastructure and presentation.
This project is a comprehensive template for building enterprise-grade applications using clean architecture principles. It provides a structured foundation that decouples core business logic from infrastructure concerns, ensuring that domain entities remain independent of specific frameworks or database implementations. By utilizing a mediator-based request dispatching pattern, the system separates state-mutating commands from read-only queries, promoting a clean separation of concerns across the entire codebase. The architecture is organized into vertical slices, grouping related logic and
Provides a development foundation that separates business logic from infrastructure to improve maintainability and testability.
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
Structuring an Android app into domain, data, and presentation layers following Uncle Bob's clean architecture principles for maintainable and testable code.
This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal architecture in enterprise applications. It provides a structured boilerplate that isolates core business logic from infrastructure concerns, ensuring that domain entities, use cases, and external technology adapters remain decoupled and maintainable. The framework distinguishes itself by enforcing strict architectural boundaries and dependency inversion, preventing unauthorized access to core logic from external layers. It utilizes a command-query responsibility segregation pat
Provides a strictly typed foundation for organizing complex business logic into decoupled modules with standardized command and query patterns.
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
Provides a structural framework that enforces clean architecture and domain-driven design principles for Java applications.
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
Provides a foundational template that enforces the separation of business logic from infrastructure and presentation layers.
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
Demonstrates a clean architecture implementation for Android with separated domain, data, and presentation layers.
Pokedex is a reference implementation of an Android application that utilizes the MVVM architecture, Jetpack Compose for its declarative user interface, and Hilt for dependency injection. It serves as a sample project demonstrating a mobile application built with Android Jetpack and a Kotlin Coroutines network client to manage asynchronous data requests. The project implements a modular codebase to optimize build performance and enforce internal boundaries. It features a local persistence layer using the Room library to cache remote data on the device and utilizes Material Motion for fluid in
Serves as a reference implementation of an Android app demonstrating clean architecture, Hilt, and Jetpack.
This project provides a comprehensive collection of best practices, architectural patterns, and coding standards for the .NET ecosystem. It serves as a guide for developers to improve the readability, maintainability, and testability of C# applications by applying established software engineering principles. The repository focuses on enforcing consistent code style and structure through automated configuration rules. It emphasizes the use of SOLID design principles to create modular, loosely coupled components, alongside structured exception management to ensure diagnostic information is pres
Details architectural patterns for separating business logic from infrastructure to ensure modular and testable codebases.
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
Serves as a reference implementation and template for building applications using Clean Architecture principles.
This is a demonstration and template project that applies Clean Architecture principles to SwiftUI application development. It implements a layered architecture that separates presentation, business logic, and data access into independent layers, with unidirectional data flow managed through a single immutable app store that serves as the sole source of truth for all screens. The project distinguishes itself through its implementation of interactor-driven business logic, where all domain rules and workflows live in stateless objects that receive requests and update the central store. Dependen
Serves as a demonstration project applying Clean Architecture to SwiftUI with SwiftData persistence and networking.
Hanami is a full-stack Ruby web framework and API platform designed for building maintainable applications. It centers on a modular web architecture that organizes software into independent slices to prevent monolithic growth and isolate functional units. The framework implements a clean architecture by decoupling business logic from persistence and request handling. This is achieved through a central dependency injection container for managing object lifetimes and a repository pattern mapper that separates domain entities from the persistence layer. The project further provides a Rack-compa
Implements clean architecture by decoupling business logic from persistence and request handling.
Dieses Projekt ist eine Referenzimplementierung der Model-View-Presenter-Architektur für Android-Anwendungen. Es dient als strukturelles Beispiel dafür, wie Geschäftslogik durch ein Presenter-basiertes Framework von der Benutzeroberfläche getrennt werden kann. Die Implementierung konzentriert sich auf einen Clean-Architecture-Ansatz und nutzt Presenter, um die gesamte Kommunikation zwischen Datenmodell und View zu vermitteln. Sie verwendet ein Passive-View-Muster und eine Interface-basierte Entkopplung, um die Benutzeroberfläche von Domänenregeln zu isolieren. Die Architektur integriert Interactor-basierte Domänenlogik und eine schichtweise Trennung, um die systemische Kopplung zu reduzieren. Diese Struktur ermöglicht plattformunabhängige Unit-Tests, wodurch die Anwendungslogik innerhalb einer Standard-Java-Virtual-Machine verifiziert werden kann, ohne das Android-Framework oder ein physisches Gerät zu benötigen.
Provides a project structure that separates domain rules and business logic from the Android framework.
Dieses Projekt ist eine Referenzimplementierung von Domain-Driven-Design-Mustern, funktionaler Domänenmodellierung und ereignisgesteuerter Zustands-Koordination. Es demonstriert die Anwendung strategischer und taktischer Entwurfsmuster zur Verwaltung komplexer Geschäftsanforderungen. Die Implementierung nutzt ein funktionales Domänenmodell mit reinen Funktionen und unveränderlichen Objekten zur Verwaltung von Zustandsübergängen und Seiteneffekten. Sie bietet eine Command-Query-Responsibility-Segregation-Architektur zur Trennung von Lese- und Schreibmodellen, neben ereignisgesteuerter Koordination zur Wahrung der Konsistenz über autonome Geschäftsgrenzen hinweg. Die Codebasis integriert eine modulare Monolithen-Architektur unter Verwendung von Bounded Contexts und hexagonalem Layering, um Kernlogik von der Infrastruktur zu isolieren. Die Qualitätssicherung erfolgt durch eine Suite für verhaltensgesteuerte Entwicklung (BDD), die die Ubiquitous Language widerspiegelt, um Geschäftsszenarien zu verifizieren, sowie automatisierte Tests, die architektonische Constraints durchsetzen. Das Projekt wendet diese Muster auf eine Bibliotheksverwaltungsdomäne an und deckt Katalogpflege, Ausleih-Workflows, Reservierungsvalidierungen und die Nachverfolgung überfälliger Rückgaben ab.
Isolates core business logic from external frameworks through hexagonal layering to ensure independence.
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
An example Android application demonstrating advanced dependency injection and debugging patterns.
BasePopup ist eine Android-Popup-Window-Bibliothek und ein UI-Komponenten-Framework für die Erstellung benutzerdefinierter schwebender Fenster und Overlays in Android-Apps. Es bietet eine Reihe wiederverwendbarer Elemente, um fokussierte Inhalte und temporäre Steuerelemente über dem Hauptbildschirm der App anzuzeigen. Die Bibliothek verwaltet das Layout und die Anzeige dieser schwebenden Views durch ein benutzerdefiniertes Framework, das Erscheinungsbild und Verhalten von Popup-Menüs standardisiert. Sie implementiert spezifisch die Android-Popup-Window-Funktionalität, um kontextbezogene Optionen bereitzustellen, ohne die aktuelle Seite verlassen zu müssen. Das Framework deckt die UI-Komponentenentwicklung durch Window-Management, Koordinatenberechnung basierend auf Anchor-Views und dynamische Größenanpassung ab. Es übernimmt das View-Inflation- und Event-Handling, um diese schwebenden Elemente in das mobile Interface zu integrieren.
Implements the layout and display management for floating views using Android's PopupWindow mechanism.
NorthwindTraders is an ASP.NET Core sample application that serves as a reference implementation for developing RESTful web APIs. It demonstrates the use of the .NET ecosystem to expose business functionality over HTTP. The project provides an example of a layered application architecture, separating business logic from infrastructure and external dependencies. It implements an Entity Framework Core data layer using a code-first approach to map application objects to a relational database. The implementation covers core backend capabilities including relational database integration, server-s
Isolates business logic from infrastructure by implementing a decoupled, layered architecture.
Dieses Projekt ist eine Kotlin-Android-Referenzanwendung und eine Reihe von Beispielimplementierungen, die Prinzipien der Clean Architecture demonstrieren. Es bietet ein strukturelles Design, das Kern-Geschäftsregeln von der Benutzeroberfläche und den Datenquellen in distinkte, geschichtete Module isoliert. Die Implementierung konzentriert sich auf das Model-View-ViewModel-Muster (MVVM), um UI-Logik von Datenmodellen zu entkoppeln. Sie nutzt ein Dependency-Injection-Framework, um die Objekterstellung zu automatisieren und Komponenten-Lebenszyklen zu verwalten, während sie ein Repository-Muster verwendet, um Datenanfragen über Speicher-, Festplatten- und Cloud-Quellen hinweg zu abstrahieren. Die Architektur integriert eine funktionsbasierte Paketorganisation und modulare Build-Konfigurationen, um Konsistenz über das Projekt hinweg zu wahren. Sie enthält zudem eine umfassende Teststrategie, die Unit-Tests für Geschäftslogik mit Instrumentierung für die UI und Mock-Module für die Validierung der Datenebene kombiniert.
Utilizes a clean architecture framework to enforce the separation of business logic from infrastructure.
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
Implements a structural approach that divides business logic, data persistence, and UI into scalable layers.
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
Implements a clean architecture framework that separates business logic from infrastructure and presentation layers.