Development

ASP.NET Core - SOLID and Clean Architecture

Beginner
10h

By: Trevoir Williams

ASP.NET Core - SOLID and Clean Architecture

Overview

Creating a modular, testable, and maintainable application in .NET Core requires a solid foundation. Setting up an application architecture requires foresight and much consideration as early decisions will impact how easily the application is extended and maintained. In the long run, though, applications need to be maintained and, in this case, extended. Between its design and the way, the code was written, neither is really possible and so the application needs to be redesigned and future-proofed. In this course, we will explore foundational architectural principles that help with the creation of maintainable code. Next, discover how to set up a real-world application architecture with ASP.NET Core. Then, you will learn how to plug in different, common blocks such as email and authentication and have a foundation to plug in other third-party services as needed. By the end of this course, you will have the skills and knowledge of creating a testable and maintainable ASP.NET Core application needed to architect real-world enterprise .NET Core apps.

Modules

1. Chapter 1: Course Introduction

1.1 Introduction2 min

2. Chapter 2: Preliminary Concepts

2.1 Review of S.O.L.I.D. Principles5 min
2.2 Single Responsibility Principle2 min
2.3 DRY Principle2 min
2.4 Dependency Inversion2 min
2.5 Understanding Clean Architecture11 min
2.6 What We Will Be Building4 min

3. Chapter 3: Setting Clean Architecture Solution

3.1 Development Environment1 min
3.2 Get Latest Visual Studio3 min
3.3 Setting Up Solution2 min
3.4 Overview of Solution Parts2 min

4. Chapter 4: Setting Up the Application Core

4.1 Section Overview1 min
4.2 Create the Domain Project8 min
4.3 Create Application Core Project9 min
4.4 Understanding CQRS, Mediator, and AutoMapper8 min
4.5 Add AutoMapper and MediatR7 min
4.6 Set Up Features Folder Structure (Vertical Slice Architecture)5 min
4.7 Creating CQRS Query Request and Handler - Part 111 min
4.8 Creating CQRS Query Request and Handler - Part 27 min
4.9 Creating CQRS Command Request and Handler - Part 17 min
4.10 Creating CQRS Command Request and Handler - Part 26 min
4.11 Adding Custom Exceptions6 min
4.12 Adding FluentValidation17 min
4.13 Setting Up the Application Core Review1 min

5. Chapter 5: Setting Up Infrastructure Projects

5.1 Section Overview1 min
5.2 Create the Persistence Project2 min
5.3 Add Entity Framework and Database Context14 min
5.4 Add Repository Implementations17 min
5.5 EF Core - No Tracking3 min
5.6 Completing Repositories11 min
5.7 Create Infrastructure Project2 min
5.8 Add Third-Party Email Service11 min
5.9 Add Third-Party Logging (SeriLog)12 min
5.10 Setting Up Infrastructure Projects Section Review1 min

6. Chapter 6: Creating the API Project

6.1 Section Overview1 min
6.2 Create the API Project10 min
6.3 Scaffolding Database5 min
6.4 Implementing Controller with MediatR - Part 111 min
6.5 Implementing Controller with MediatR - Part 211 min
6.6 Complete Leave Allocation Feature23 min
6.7 Complete Leave Request Feature19 min
6.8 Global Error Handling15 min
6.9 Creating the API Project Review1 min

7. Chapter 7: Testing

7.1 Section Overview1 min
7.2 Creating Application Unit Project4 min
7.3 Unit Testing the Application Code - Set Up Mocks12 min
7.4 Unit Testing the Application Code - Testing Handlers12 min
7.5 Integration Testing - Entity Framework11 min
7.6 Testing Review2 min

8. Chapter 8: Adding the UI

8.1 Section Overview1 min
8.2 Creating UI Project - Blazor WebAssembly9 min
8.3 Using NSwag and NSwagStudio to Consume API11 min
8.4 Configure App for API6 min
8.5 Set Up Leave Type Management Service17 min
8.6 Set Up Leave Type Management UI16 min

9. Chapter 9: Securing API and UI

9.1 Add Security Using Identity23 min
9.2 Add JSON Web Token (JWT) Authentication to API22 min
9.3 Add Authentication Services to Blazor22 min
9.4 Add UI Changes for Security19 min
9.5 Securing API and UI Review2 min

10. Chapter 10: Complete Application Features

10.1 Set Up Leave Allocation Management15 min
10.2 Set Up Leave Request Management - Part 1 - Employee Request27 min
10.3 Set Up Leave Request Management - Part 2 - Admin View20 min
10.4 Set Up Leave Request Management - Part 3 - Approval10 min
10.5 Set Up Leave Request Management - Part 4 - Cancel Request16 min
10.6 Set Up Leave Request Management - Part 5 – Wrap Up5 min

11. Chapter 11: Value-Added Features

11.1 Improve Logging14 min
11.2 Improve Data Auditing3 min
11.3 Add Notifications5 min

12. Chapter 12: Summary and Closing

12.1 Conclusion4 min

Ready to Elevate Your Team's Learning?

Talk with our sales team to see how StormWind can transform the way your organization trains and grows.

CONTACT SALES