clean-architecture-manga

所属分类:collect
开发工具:C#
文件大小:0KB
下载次数:0
上传日期:2023-06-26 10:03:00
上 传 者sh-1993
说明:  使用.NET6、C#10和React+Redux清理体系结构。用例作为中心组织结构,完全可测试,与fr....解耦...,
(?? Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks)

文件列表:
.all-contributorsrc (7077, 2023-04-03)
.dockerignore (340, 2023-04-03)
.editorconfig (94, 2023-04-03)
.vscode/ (0, 2023-04-03)
.vscode/launch.json (3388, 2023-04-03)
.vscode/tasks.json (1654, 2023-04-03)
CHANGELOG.md (3409, 2023-04-03)
Clean-Architecture-Manga.sln (9246, 2023-04-03)
Clean-Architecture-Manga.sln.DotSettings (819, 2023-04-03)
FUNDING.yml (112, 2023-04-03)
LICENSE (11357, 2023-04-03)
accounts-api-seed/ (0, 2023-04-03)
accounts-api-seed/Dockerfile (263, 2023-04-03)
accounts-api/ (0, 2023-04-03)
accounts-api/.vscode/ (0, 2023-04-03)
accounts-api/.vscode/launch.json (2207, 2023-04-03)
accounts-api/.vscode/settings.json (1119, 2023-04-03)
accounts-api/.vscode/tasks.json (2093, 2023-04-03)
accounts-api/Directory.Build.props (99, 2023-04-03)
accounts-api/nuget.config (211, 2023-04-03)
accounts-api/src/ (0, 2023-04-03)
accounts-api/src/Application/ (0, 2023-04-03)
accounts-api/src/Application/Application.csproj (998, 2023-04-03)
accounts-api/src/Application/Messages.Designer.cs (6998, 2023-04-03)
accounts-api/src/Application/Messages.resx (7251, 2023-04-03)
accounts-api/src/Application/Services/ (0, 2023-04-03)
accounts-api/src/Application/Services/ICurrencyExchange.cs (239, 2023-04-03)
accounts-api/src/Application/Services/IUnitOfWork.cs (467, 2023-04-03)
accounts-api/src/Application/Services/IUserService.cs (402, 2023-04-03)
accounts-api/src/Application/Services/Notification.cs (1205, 2023-04-03)
accounts-api/src/Application/UseCases/ (0, 2023-04-03)
accounts-api/src/Application/UseCases/CloseAccount/ (0, 2023-04-03)
accounts-api/src/Application/UseCases/CloseAccount/CloseAccountPresenter.cs (626, 2023-04-03)
accounts-api/src/Application/UseCases/CloseAccount/CloseAccountUseCase.cs (2493, 2023-04-03)
... ...

# Clean Architecture with .NET Core & React+Redux :cyclone: [![All Contributors](https://img.shields.io/badge/all_contributors-16-orange.svg?style=flat-square)](#contributors) [![Build Status](https://dev.azure.com/ivanpaulovich/clean-architecture-manga/_apis/build/status/ivanpaulovich.clean-architecture-manga?branchName=master)](https://dev.azure.com/ivanpaulovich/clean-architecture-manga/_build/latest?definitionId=20&branchName=master) Sample implementation of the **Clean Architecture Principles with .NET Core**. Use cases as central organizing structure, decoupled from frameworks and technology details. Built by small components that are developed and tested in isolation. We support two versions: - [.NET 6](https://github.com/ivanpaulovich/clean-architecture-manga/tree/main) - .NET 6. - [.NET 5](https://github.com/ivanpaulovich/clean-architecture-manga/tree/dotnet5.0) - .NET 5. - [.NET Core 3.1](https://github.com/ivanpaulovich/clean-architecture-manga/tree/dotnet3.1) - .NET Core 3.1. > Hit the `WATCH` button to get the latest Clean Architecture updates. Manga is a Virtual Wallet Solution in which the customer register an account then manage the balance by `Deposit`, `Withdraw` and `Transfer` operations. We also support the React client: [![React+Redux Demo](https://raw.githubusercontent.com/ivanpaulovich/clean-architecture-manga/docs/docs/clean-architecture-manga-react.png)](https://clean-architecture-manga.azurewebsites.net) ## Build & Run To startup the whole solution, execute the following command: Windows: ```ps1 PS cd .docker && ./setup.ps1 ``` MacOS: ```sh $ cd .docker && ./setup.sh ``` Then the following containers should be running on `docker ps`: | Application | URL | |-------------------- | ----------------------------------------------------------------------------- | | NGINX | https://wallet.local:8081 | | Wallet SPA | https://wallet.local:8081 | | Accounts API | https://wallet.local:8081/accounts-api | | Identity Server | https://wallet.local:8081/identity-server | | SQL Server | Server=localhost;User Id=sa;Password=;Database=Accounts; | Browse to [https://wallet.local:8081](https://wallet.local:8081) then click on Log In. If asked trust the [self-signed certificate](https://stackoverflow.com/questions/21397809/create-a-trusted-self-signed-ssl-cert-for-localhost-for-use-with-express-node). ## Motivation > Learn how to design modular applications. > > Explore the .NET Core features. ### Learn how to design modular applications Learning how to design modular applications will help you become a better engineer. Designing modular applications is the holy grail of software architecture, it is hard to find engineers experienced on designing applications which allows adding new features in a steady speed. ### Explore the .NET Core features .NET Core brings a sweet development environment, an extensible and cross-platform framework. We will explore the benefits of it in the infrastructure layer and we will reduce its importance in the application and domain layers. The same rule is applied for modern C# language syntax. ### Learn from the open source community This is continually updated, open source project. [Contributions](#contributors-) are welcome! ## Contributing > Learn from the community. Feel free to submit pull requests to help: * Fix errors. * Refactoring. * Build the Front End. * Submit issues and bugs. > The [Discusso em Português](https://github.com/ivanpaulovich/clean-architecture-manga/issues/149) is pinned for the large community of brazillian developers. ## Index of Clean Architecture Manga ### [Home](https://github.com/ivanpaulovich/clean-architecture-manga/wiki) - [Motivation](https://github.com/ivanpaulovich/clean-architecture-manga/wiki#motivation) * [Learn how to design modular applications](https://github.com/ivanpaulovich/clean-architecture-manga/wiki#learn-how-to-design-modular-applications) * [Explore the .NET Core features](https://github.com/ivanpaulovich/clean-architecture-manga/wiki#explore-the-net-core-features) * [Learn from the open source community](https://github.com/ivanpaulovich/clean-architecture-manga/wiki#learn-from-the-open-source-community) - [Contributing](https://github.com/ivanpaulovich/clean-architecture-manga/wiki#contributing) ### [Use Cases](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Use-Cases) ### [Flow of Control](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Flow-of-Control) * [Register Flow of Control](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Flow-of-Control#register-flow-of-control) * [Get Customer Details Flow of Control](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Flow-of-Control#get-customer-details-flow-of-control) ### [Architecture Styles](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Architecture-Styles) * [Hexagonal Architecture Style](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Architecture-Styles#ports-and-adapters-architecture-style) * [Ports](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Architecture-Styles#ports) * [Adapters](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Architecture-Styles#adapters) * [The Left Side](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Architecture-Styles#the-left-side) * [The Right Side](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Architecture-Styles#the-right-side) * [Onion Architecture Style](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Architecture-Styles#onion-architecture-style) * [Clean Architecture Style](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Architecture-Styles#clean-architecture-style) ### [Design Patterns](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Design-Patterns) * [Controller](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Design-Patterns#controller) * [ViewModel](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Design-Patterns#viewmodel) * [Presenter](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Design-Patterns#presenter) * [Standard Output](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Design-Patterns#standard-output) * [Error Output](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Design-Patterns#error-output) * [Alternative Output](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Design-Patterns#alternative-output) * [Unit of Work](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Design-Patterns#unit-of-work) * [First-Class Collections](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Design-Patterns#first-class-collections) * [Factory](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Design-Patterns#factory) ### [Domain-Driven Design Patterns](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Domain-Driven-Design-Patterns) * [Value Object](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Domain-Driven-Design-Patterns#value-object) * [Entity](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Domain-Driven-Design-Patterns#entity) * [Aggregate Root](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Domain-Driven-Design-Patterns#aggregate-root) * [Repository](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Domain-Driven-Design-Patterns#repository) * [Use Case](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Domain-Driven-Design-Patterns#use-case) ### [Separation of Concerns](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Separation-of-Concerns#separation-of-concerns) - [Domain](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Separation-of-Concerns#domain) - [Application](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Separation-of-Concerns#application) - [Infrastructure](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Separation-of-Concerns#infrastructure) - [User Interface](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Separation-of-Concerns#user-interface) ### [Encapsulation](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Encapsulation) ### [Test-Driven Development TDD](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Test-Driven-Development) ### [Fakes](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Fakes) ### [SOLID](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/SOLID) - [Single Responsibility Principle](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/SOLID#single-responsibility-principle) - [Open-Closed Principle](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/SOLID#open-closed-principle) - [Liskov Substitution Principle](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/SOLID#liskov-substitution-principle) - [Interface Segregation Principle](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/SOLID#interface-segregation-principle) - [Dependency Inversion Principle](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/SOLID#dependency-inversion-principle) ### [.NET Core Web API](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/.NET-Core-WebAPI#.net-core-webapi) * [Swagger and API Versioning](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/.NET-Core-WebAPI#swagger-and-api-versioning) * [Microsoft Extensions](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/.NET-Core-WebAPI#microsoft-extensions) * [Feature Flags](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/.NET-Core-WebAPI#feature-flags) * [Logging](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/.NET-Core-WebAPI#logging) * [Data Annotations](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/.NET-Core-WebAPI#data-annotations) * [Authentication](#authentication) * [Authorization](#authorization) ### [Entity Framework Core](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Entity-Framework-Core) * [Add Migration](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Entity-Framework-Core#add-migration) * [Update Database](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Entity-Framework-Core#update-database) ### [Environment Configurations](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Environment-Configurations) ### [DevOps](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/DevOps) * [Running the Application Locally](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/DevOps#running-the-application-locally) * [Running the Tests Locally](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/DevOps#running-the-tests-locally) * [Continuous Integration & Continuous Deployment](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/DevOps#continuous-integration-continuous-deployment) ### [Docker](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Docker) * [SQL Server](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Docker#sql-server) ### [Related Content and Projects](https://github.com/ivanpaulovich/clean-architecture-manga/wiki/Related-Content-and-Projects) ## Contributors Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Ivan Paulovich


Petr Sedláek


Gus


arulconsultant


Guilherme Silva


Ondej torc


Marlon Miranda da Silva


NicoCG


Filipe Augusto Lima de Souza


sshaw-sml


Matheus Neder


димитрий матиенко


morphlogic


Felipe Lambert


Philippe Matray


Leandro Fagundes


Bart van Ommen


qpippop


Cesar Pereira


Edvaldo Farias


相关文件


收藏者