Loic.ivanpaulovich.clean-architecture-manga
1.0.0
dotnet add package Loic.ivanpaulovich.clean-architecture-manga --version 1.0.0
NuGet\Install-Package Loic.ivanpaulovich.clean-architecture-manga -Version 1.0.0
<PackageReference Include="Loic.ivanpaulovich.clean-architecture-manga" Version="1.0.0" />
<PackageVersion Include="Loic.ivanpaulovich.clean-architecture-manga" Version="1.0.0" />
<PackageReference Include="Loic.ivanpaulovich.clean-architecture-manga" />
paket add Loic.ivanpaulovich.clean-architecture-manga --version 1.0.0
#r "nuget: Loic.ivanpaulovich.clean-architecture-manga, 1.0.0"
#addin nuget:?package=Loic.ivanpaulovich.clean-architecture-manga&version=1.0.0
#tool nuget:?package=Loic.ivanpaulovich.clean-architecture-manga&version=1.0.0
Clean Architecture with .NET Core & React+Redux 🌀
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 Core 3.1 - .NET Core.
- .NET 5 - .NET 5 version.
Hit the
WATCH
button to get the latest Clean Architecture updates. <img src="https://emojis.slackmojis.com/emojis/images/1471045863/884/ninja.gif?1471045863" width="32" height="32" />
Manga is a Virtual Wallet Solution in which the customer register an account then manage the balance by Deposits
, Withdraws
and Transfers
operations.
The Web API's demo is hosted on Azure servers and there's a beautiful Swagger Client available.
We also support the React client:
<p align="center"> Run the Docker container in less than 2 minutes using Play With Docker: <br> <br> <a href="https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/ivanpaulovich/clean-architecture-manga/master/.docker/docker-compose.yml&stack_name=clean-architecture-manga" rel="nofollow"><img src="https://raw.githubusercontent.com/play-with-docker/stacks/master/assets/images/button.png" alt="Try in PWD" style="max-width:100%;"></a> </p>
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:
- Fix errors.
- Refactoring.
- Build the Front End.
- Submit issues and bugs.
The Discussão em Português is pinned for the large community of brazillian developers. <img src="https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/320/twitter/248/flag-brazil_1f1e7-1f1f7.png" width="32" height="32" />
Index of Clean Architecture Manga
Home
Use Cases
Flow of Control
Architecture Styles
Design Patterns
Domain-Driven Design Patterns
Separation of Concerns
Encapsulation
Test-Driven Development TDD
Fakes
SOLID
- Single Responsibility Principle
- Open-Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
.NET Core Web API
- Swagger and API Versioning
- Microsoft Extensions
- Feature Flags
- Logging
- Data Annotations
- Authentication
- Authorization
Entity Framework Core
Environment Configurations
DevOps
- Running the Application Locally
- Running the Tests Locally
- Continuous Integration & Continuous Deployment
Docker
Related Content and Projects
Contributors ✨
Thanks goes to these wonderful people (emoji key):
<table> <tr> <td align="center"><a href="https://paulovich.net"><img src="https://avatars3.githubusercontent.com/u/7133698?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ivan Paulovich</b></sub></a><br /><a href="#design-ivanpaulovich" title="Design">🎨</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=ivanpaulovich" title="Tests">⚠️</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=ivanpaulovich" title="Code">💻</a></td> <td align="center"><a href="https://spelos.net/"><img src="https://avatars3.githubusercontent.com/u/21304428?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Petr Sedláček</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=petrspelos" title="Tests">⚠️</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=petrspelos" title="Code">💻</a></td> <td align="center"><a href="https://github.com/luizgustavogp"><img src="https://avatars2.githubusercontent.com/u/5147169?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gus</b></sub></a><br /><a href="#design-luizgustavogp" title="Design">🎨</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=luizgustavogp" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/arulconsultant"><img src="https://avatars0.githubusercontent.com/u/47856951?v=4?s=100" width="100px;" alt=""/><br /><sub><b>arulconsultant</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=arulconsultant" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/guilhermeps"><img src="https://avatars1.githubusercontent.com/u/38736244?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Guilherme Silva</b></sub></a><br /><a href="#design-guilhermeps" title="Design">🎨</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=guilhermeps" title="Tests">⚠️</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=guilhermeps" title="Code">💻</a></td> </tr> <tr> <td align="center"><a href="https://github.com/ostorc"><img src="https://avatars1.githubusercontent.com/u/13519594?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ondřej Štorc</b></sub></a><br /><a href="#design-ostorc" title="Design">🎨</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=ostorc" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/MarlonMiranda"><img src="https://avatars3.githubusercontent.com/u/12774904?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Marlon Miranda da Silva</b></sub></a><br /><a href="#design-MarlonMiranda" title="Design">🎨</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=MarlonMiranda" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/NicoCG"><img src="https://avatars1.githubusercontent.com/u/33652180?v=4?s=100" width="100px;" alt=""/><br /><sub><b>NicoCG</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=NicoCG" title="Tests">⚠️</a></td> <td align="center"><a href="https://stackoverflow.com/users/2072198/fals"><img src="https://avatars2.githubusercontent.com/u/3750960?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Filipe Augusto Lima de Souza</b></sub></a><br /><a href="#design-fals" title="Design">🎨</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=fals" title="Tests">⚠️</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=fals" title="Code">💻</a></td> <td align="center"><a href="https://github.com/sshaw-sml"><img src="https://avatars3.githubusercontent.com/u/33876744?v=4?s=100" width="100px;" alt=""/><br /><sub><b>sshaw-sml</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=sshaw-sml" title="Tests">⚠️</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=sshaw-sml" title="Code">💻</a></td> </tr> <tr> <td align="center"><a href="https://github.com/matheusneder"><img src="https://avatars1.githubusercontent.com/u/6011646?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Neder</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=matheusneder" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/matiienkodimitri"><img src="https://avatars2.githubusercontent.com/u/53822759?v=4?s=100" width="100px;" alt=""/><br /><sub><b>димитрий матиенко</b></sub></a><br /><a href="#design-matiienkodimitri" title="Design">🎨</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=matiienkodimitri" title="Tests">⚠️</a></td> <td align="center"><a href="https://github.com/morphlogic"><img src="https://avatars1.githubusercontent.com/u/29184473?v=4?s=100" width="100px;" alt=""/><br /><sub><b>morphlogic</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=morphlogic" title="Tests">⚠️</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=morphlogic" title="Code">💻</a></td> <td align="center"><a href="https://github.com/felpasl"><img src="https://avatars3.githubusercontent.com/u/5658895?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Felipe Lambert</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=felpasl" title="Tests">⚠️</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=felpasl" title="Code">💻</a></td> <td align="center"><a href="https://matray.website"><img src="https://avatars2.githubusercontent.com/u/9035444?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Philippe Matray</b></sub></a><br /><a href="#design-phmatray" title="Design">🎨</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=phmatray" title="Code">💻</a></td> </tr> <tr> <td align="center"><a href="https://github.com/leandrofagundes"><img src="https://avatars1.githubusercontent.com/u/10363927?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Leandro Fagundes</b></sub></a><br /><a href="#question-leandrofagundes" title="Answering Questions">💬</a></td> <td align="center"><a href="https://github.com/bommen"><img src="https://avatars2.githubusercontent.com/u/52955252?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bart van Ommen</b></sub></a><br /><a href="#ideas-bommen" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=bommen" title="Code">💻</a></td> <td align="center"><a href="https://github.com/qpippop"><img src="https://avatars0.githubusercontent.com/u/57645455?v=4?s=100" width="100px;" alt=""/><br /><sub><b>qpippop</b></sub></a><br /><a href="#ideas-qpippop" title="Ideas, Planning, & Feedback">🤔</a></td> <td align="center"><a href="https://www.linkedin.com/in/cesinhaugusto/"><img src="https://avatars1.githubusercontent.com/u/25554544?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Cesar Pereira</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=cesinhaugusto" title="Code">💻</a></td> <td align="center"><a href="http://www.edvaldofarias.com.br"><img src="https://avatars2.githubusercontent.com/u/40303187?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Edvaldo Farias</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=edvaldofarias" title="Code">💻</a></td> </tr> <tr> <td align="center"><a href="https://codepen.io/sergiobroccardi/posts/published/"><img src="https://avatars1.githubusercontent.com/u/25184212?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sergio Broccardi</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=sbroccardi" title="Code">💻</a></td> <td align="center"><a href="https://github.com/cuno92"><img src="https://avatars0.githubusercontent.com/u/58431215?v=4?s=100" width="100px;" alt=""/><br /><sub><b>cuno92</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=cuno92" title="Code">💻</a></td> <td align="center"><a href="http://vmamore.com.br"><img src="https://avatars0.githubusercontent.com/u/26505439?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vinícius Mamoré</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=vmamore" title="Code">💻</a></td> <td align="center"><a href="https://github.com/dyavolick"><img src="https://avatars1.githubusercontent.com/u/3098528?v=4?s=100" width="100px;" alt=""/><br /><sub><b>dyavolick</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=dyavolick" title="Code">💻</a></td> <td align="center"><a href="https://github.com/felipetofoli"><img src="https://avatars0.githubusercontent.com/u/1364311?v=4?s=100" width="100px;" alt=""/><br /><sub><b>felipetofoli</b></sub></a><br /><a href="#design-felipetofoli" title="Design">🎨</a> <a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=felipetofoli" title="Code">💻</a></td> </tr> <tr> <td align="center"><a href="https://github.com/charithdesilva"><img src="https://avatars.githubusercontent.com/u/5924323?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Charith De Silva</b></sub></a><br /><a href="https://github.com/ivanpaulovich/clean-architecture-manga/commits?author=charithdesilva" title="Code">💻</a></td> </tr> </table>
This project follows the all-contributors specification. Contributions of any kind welcome!
Hit the
FORK
button and show Clean Architecture on your profile. <img src="https://emojis.slackmojis.com/emojis/images/1469223471/679/charmander_dancing.gif?1469223471" width="32" height="32" />
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net5.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 1 | 7/31/2021 |