Giter Site home page Giter Site logo

luckyhangmei / cleanarchitecture Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tanvirarjel/cleanarchitecture

0.0 0.0 0.0 4.3 MB

This repository contains the implementation of domain-driven design and clear architecture in ASP.NET Core.

License: MIT License

JavaScript 1.20% C# 49.63% CSS 34.02% HTML 14.78% Dockerfile 0.37%

cleanarchitecture's Introduction

๐Ÿƒโ€โ™‚๏ธ How to Run the Project

  1. First make sure that you have .NET 7.0 and Visual Studio 2022 are installed.
  2. Now open the solution with VS 2022 and build the solution to make sure that there is no error.
  3. Now make CleanHr.Api and ClearHr.Blazor projects as startup projects and then run it. On startup necessary databases will be created in MSSQLLocalDB

Clean Architecture in ASP.NET Core

This repository contains the implementation of Domain Driven Design and Clear Architecture in ASP.NET Core.

โš™๏ธ Fetures

  1. Domain Driven Design
  2. CQRS
  3. REST API
  4. API Versioning
  5. Blazor Client (Web Assembly)
  6. Caching with InMemory and Redis
  7. Logging with Serilog
  8. EF Core Repository and Cache Repository
  9. Microsoft SQL Server
  10. Simple and clean admin template for starter

๐Ÿ“ Folder Structures:

image

๐Ÿ“‚ src/ServerApp:

Will contain all the projects of the server side app and will look like as follows: tempsnip

๐Ÿ“‚ src/ServerApp/Core:

Core folder contains the projects related to the application's core funcationalities like Domain Logic and Application Logic. This folder is called the heart of the server app.

tempsnip

๐Ÿ“ EmployeeManagement.Domain Project:

This is application's Domain Layer which will contain:

  1. Domain entities and aggregate roots which will be mapped to database table
  2. Domain logic,
  3. Domain repositories
  4. Value objects.
  5. Domain Exceptions

This will not depend on any other project. This is fully independent.

tempsnip

๐Ÿ“ EmployeeManagement.Application Project:

This is application's Application Layer which will contain:

  1. Appplication Logic
  2. Infrastructure repositories' interfaces i.e Cache Repository interfaces.
  3. Infrastructure services' interfaces i.e IEmailSender, ISmsSender, IExceptionLogger etc.
  4. Data Transfer Objects (Dtos)
  5. Command and Queries

It will only depend on Domain project aka Domain Layer.

tempsnip

๐Ÿ“‚ src/ServerApp/Infrastructure:

This folder will contains all the project related to project's infrastuctures like Data access code, persistance and application's cross cutting concerns' intefaces implementation like IEmailSender, ISmsSender etc.

tempsnip

๐Ÿ“‚ src/ServerApp/Presentation:

This folder will contain the REST API projects which is the PresentationLayer of the project.

tempsnip

cleanarchitecture's People

Contributors

tanvirarjel avatar tanviragoda 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.