ivanpaulovich / clean-architecture-manga

:cyclone: Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
http://paulovich.net/
Apache License 2.0
4.02k stars 694 forks source link
clean-architecture clean-code cleanarchitecture ddd-architecture design-patterns docker domain-driven-design dotnet-core dotnet5 entity-framework-core evolutionary-architecture hexagonal-architecture microservice modular-applications monorepo onion-architecture reactjs solid-principles tdd webapi

Clean Architecture with .NET Core & React+Redux :cyclone:

All Contributors Build Status

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:

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

Build & Run

To startup the whole solution, execute the following command:

Windows:

PS cd .docker && ./setup.ps1

MacOS:

$ 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=<YourStrong!Passw0rd>;Database=Accounts;

Browse to https://wallet.local:8081 then click on Log In. If asked trust the self-signed certificate.

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 are welcome!

Contributing

Learn from the community.

Feel free to submit pull requests to help:

The Discussão em Português is pinned for the large community of brazillian developers.

Index of Clean Architecture Manga

Home

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Ivan Paulovich

🎨 ⚠️ 💻

Petr Sedláček

⚠️ 💻

Gus

🎨 ⚠️

arulconsultant

⚠️

Guilherme Silva

🎨 ⚠️ 💻

Ondřej Š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

💻

Sergio Broccardi

💻

cuno92

💻

Vinícius Mamoré

💻

dyavolick

💻

felipetofoli

🎨 💻

Charith De Silva

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Hit the FORK button and show Clean Architecture on your profile.