Skip to content

Architecture using .NET Core 2.2, C#, ASP.NET Core, Entity Framework Core, Angular 7, Clean Code, DDD, SOLID, Code Analysis, Docker and others new technologies and best practices.

License

xuejmnet/DotNetCoreArchitecture

 
 

Repository files navigation

DotNetCoreArchitecture

Architecture using new technologies and best practices to share knowledge and be used in new projects.

Codacy Gitter

Technologies

Nuget Packages

Practices

  • Clean Code
  • Ubiquitous Language
  • DDD (Domain-Driven Design)
  • SOLID Principles
  • KISS Principle (Keep it simple, stupid)
  • DRY Principle (Don't repeat yourself)
  • YAGNI Principle (You aren't gonna need it)
  • Without Over-Engineering
  • Inversion of Control
  • Dependency Injection
  • Object Mapping
  • Logging
  • Response Caching
  • Response Compression
  • Code Analysis
  • Cross-Platform

Tools

Layers

Screenshot

Web: This layer contains the api (ASP.NET Core) and the frontend (Angular).

Application: This layer is the main entry point of the application.

Domain: This layer contains the requirements and the business logic.

Model: This layer is responsible for modeling the domain objects.

Database: This layer isolates and abstracts the logic for data persistence.

CrossCutting: This layer provides generic features for other layers.

IoC: This layer provides inversion of control for other layers.

Projects

Screenshot

Microservices Example

Screenshot

Application

Screenshot

Domain

Screenshot

Repository

Screenshot

ASP.NET Core + Angular

Screenshot

ASP.NET Core Startup

Screenshot

ASP.NET Core Controller

Screenshot

Angular Guard

Screenshot

Angular Error Handler

Screenshot

Angular HTTP Interceptor

Screenshot

Angular Service

Screenshot

Angular Component

Screenshot

Performance

Screenshot

Specifications

Processor: Intel Core I7 8700K Coffee Lake 8th-generation.

Memory: 16GB 2400Mhz DDR4.

Storage: Samsung Evo 960 SSD M2 250gb.

OS: Windows 10 Pro 64 bits.

Web Server: Kestrel.

Database: SQL Server 2017 Developer Edition.

Swagger

Screenshot

Run Command Line

  1. Install latest .NET Core SDK.

  2. Open directory source\Web\Frontend in command line and execute npm run restore.

  3. Open directory source\Web in command line and execute dotnet run.

  4. Open https://localhost:8090.

Run Visual Studio Code

  1. Install latest .NET Core SDK.

  2. Install C# Extension.

  3. Open directory source\Web\Frontend in command line and execute npm run restore.

  4. Open source directory in Visual Studio Code.

  5. Press F5.

Run Visual Studio 2017

  1. Install latest .NET Core SDK.

  2. Open directory source\Web\Frontend in command line and execute npm run restore.

  3. Open source\DotNetCoreArchitecture.sln in Visual Studio.

  4. Set DotNetCoreArchitecture.Web as startup project.

  5. Press F5.

Run Docker

  1. Install and configure Docker.

  2. Execute docker-compose up --build -d --force-recreate in root directory.

  3. Open http://localhost:8095.

Visual Studio Extensions

CodeMaid

Roslynator

SonarLint

TSLint

About

Architecture using .NET Core 2.2, C#, ASP.NET Core, Entity Framework Core, Angular 7, Clean Code, DDD, SOLID, Code Analysis, Docker and others new technologies and best practices.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 43.5%
  • C# 38.3%
  • HTML 15.5%
  • CSS 2.7%