A sample implementation of Clean Architecture principles for .NET 6 and React+Redux, featuring a virtual wallet application.
Clean Architecture Manga is a sample application that demonstrates Clean Architecture principles using .NET 6, C# 10, and React+Redux. It implements a virtual wallet system where users can register accounts and perform operations like deposits, withdrawals, and transfers. The project serves as a practical guide for building modular, testable, and maintainable software by decoupling business logic from frameworks and infrastructure.
.NET developers and software architects looking to learn or implement Clean Architecture, Domain-Driven Design (DDD), and modular application design in real-world projects. It's also valuable for full-stack developers working with React and .NET who want to see these patterns applied end-to-end.
Developers choose this project because it provides a complete, working example of Clean Architecture with modern .NET and React, unlike theoretical tutorials. It emphasizes practical patterns like use-case organization, testability, and framework independence, helping teams build applications that are easier to maintain and extend over time.
:cyclone: Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The extensive wiki covers Use Cases, Architecture Styles, Design Patterns, and SOLID principles, providing a comprehensive guide for learning Clean Architecture in practice.
Includes a .NET 6 Web API with Entity Framework Core and a React+Redux frontend, offering a complete, real-world application demo for full-stack developers.
Built with small, isolated components that are easily testable, as emphasized in the motivation section to support TDD practices.
Demonstrates Hexagonal, Onion, and Clean Architecture patterns within the same codebase, helping developers understand and compare different approaches.
Requires running Docker scripts (setup.ps1 or setup.sh) and trusting self-signed certificates, which can be error-prone and time-consuming for initial development.
The layered architecture and use-case centric design might introduce unnecessary complexity for straightforward CRUD applications, leading to more boilerplate code.
While a React frontend is included, the primary focus is on backend patterns; frontend best practices, state management, and testing might not be as thoroughly documented.