Giter Site home page Giter Site logo

hoseinipeyrov / clean-architecture-manga Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ivanpaulovich/clean-architecture-manga

0.0 0.0 0.0 20.3 MB

:cyclone: Clean Architecture with .NET Core 3.1, C# 8 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks

Home Page: http://paulovich.net/

License: Apache License 2.0

Shell 1.23% C# 82.54% Dockerfile 0.58% HTML 7.75% CSS 0.54% PowerShell 3.30% JavaScript 3.90% SCSS 0.17%

clean-architecture-manga's Introduction

Clean Architecture with .NET Core & React+Redux 🌀

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 maintain two versions:

Hit the WATCH button to get the latest Clean Architecture updates.

Manga is a Virtual Wallet software in which the customer register an account then manage the balance by Deposits, Withdraws and Transfers.

The Web API's demo is hosted on Azure servers and there's a beautiful Swagger Client available. Swagger Demo

We also support the React client:

React+Redux Demo

Run the Docker container in less than 2 minutes using Play With Docker:

Try in PWD

Build & Run

Run the following commands:

Startup the whole solution:

cd .docker
./makecert.sh
./trustcert-mac.sh
#./trustcert-windows.sh
./startup.sh

Then the following containers should be running docker ps:

Application Port URL
NGINX 80/443 https://wallet.local
Wallet SPA 80/443 https://wallet.local
Accounts API 80/443 https://wallet.local/accounts-api
Identity Server 80/443 https://wallet.local/identity-server
SQL Server 1433

Browse to https://wallet.local then click on Log In. Trust the self-signed certificate.

If you prefer dotnet commands then start each service individually:

Expand to get the dotnet run steps.

Generate Self Signed Certificate

dotnet dev-certs https --clean
dotnet dev-certs https -ep $env:USERPROFILE\.aspnet\https\aspnetapp.pfx -p MyCertificatePassword
dotnet dev-certs https --trust

Spin up SQL Server in a Docker container

docker pull mcr.microsoft.com/mssql/server:2019-latest
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2019-latest

Create and Seed Accounts Database

dotnet tool update --global dotnet-ef --version 3.1.6
dotnet ef database update --project accounts-api/src/Infrastructure --startup-project accounts-api/src/WebApi

Running Services

Identity Server

dotnet run --project identity-server/src/IdentityServer.csproj

Account API

dotnet run --project accounts-api/src/WebApi/WebApi.csproj

Wallett SPA

pushd wallet-spa/src/ClientApp
npm install
popd
dotnet run --project wallet-spa/src/WalletSPA.csproj --launch-profile WalletSPA

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.

Index of Clean Architecture Manga

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

🎨 💻

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

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

clean-architecture-manga's People

Contributors

ivanpaulovich avatar allcontributors[bot] avatar phmatray avatar vmamore avatar petrspelos avatar fals avatar cesinhaugusto avatar cuno92 avatar felipetofoli avatar dyavolick avatar sbroccardi avatar sshaw-sml avatar ostorc avatar guilhermeps avatar felpasl avatar edvaldofarias avatar bommen avatar roxas0zero avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.