Coder Social home page Coder Social logo

tonyyip1969 / ch.cleanarchitecture Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thecodewrapper/ch.cleanarchitecture

0.0 0.0 0.0 6.56 MB

My personal take on Clean Architecture.

Home Page: https://thecodewrapper.com/dev/tcw-clean-achitecture/

JavaScript 50.84% C# 17.91% CSS 28.60% HTML 2.56% Dockerfile 0.09%

ch.cleanarchitecture's Introduction

Build Status

Clean Architecture

My personal take on Clean Architecture. Please read my post at Implementing a Clean Architecture in ASP.NET Core 6 for more information.

Technologies used

  • ASP.NET Core 6 (RC1 at the time of writing)
  • Entity Framework Core 6 (RC1 at the time of writing)
  • MassTransit
  • AutoMapper
  • Razor Components
  • ASP.NET Core MVC
  • GuardClauses
  • xUnit
  • Moq
  • Fluent Assertions
  • FakeItEasy
  • Docker

Features

The features of this particular solution are summarized briefly below, in no particular order:

  • Localization for multiple language support
  • Event sourcing using Entity Framework Core and SQL Server as persistent storage, including snapshots and retroactive events
  • EventStore repository and DataEntity generic repository. Persistence can be swapped between them, fine-grained to individual entities
  • Persistent application configurations with optional encryption
  • Data operation auditing built-in (for entities which are not using the EventStore)
  • Local user management with ASP.NET Core Identity
  • Clean separation of data entities and domain objects and mapping between them for persistence/retrieval using AutoMapper
  • ASP.NET Core MVC with Razor Components used for presentation
  • CQRS using handler abstractions to support MassTransit or MediatR with very little change
  • Service bus abstractions to support message-broker solutions like MassTransit or MediatR (default implementation uses MassTransit’s mediator)
  • Unforcefully promoting Domain-Driven Design with aggregates, entities and domain event abstractions.
  • Lightweight authorization framework using ASP.NET Core AuthorizationHandler
  • Docker containerization support for SQL Server and Web app

Some other goodies:

  • Password generator implementation based on ASP.NET Core Identity password configuration
  • Razor Class Library containing ready-made Blazor components for commonly used features such as CRUD buttons, toast functionality, modal components, Blazor Select2, DataTables integration and page loader
  • Common library with various type extensions, result wrapper objects, paged result data structures, date format converter and more.

ch.cleanarchitecture's People

Contributors

thecodewrapper avatar vromeza 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.