Cademy logoCademy Marketplace

Course Images

ASP.NET Core - SOLID and Clean Architecture (.NET 5 and Up)

ASP.NET Core - SOLID and Clean Architecture (.NET 5 and Up)

🔥 Limited Time Offer 🔥

Get a 10% discount on your first order when you use this promo code at checkout: MAY24BAN3X

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 10 hours 3 minutes

  • All levels

Description

This comprehensive .NET Core course will provide a strong foundation in clean architecture, SOLID principles, and help implement the CQRS and Mediator patterns. You will also learn to build and consume APIs in a Blazor WebAssembly application. The course content is fully compatible with .NET 6 and .NET 7, ensuring you are up-to-date with the latest version.

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. The complete code bundle for this course is available at: https://github.com/PacktPublishing/ASP.NET-Core-SOLID-and-Clean-Architecture-.NET-5-and-up-

What You Will Learn

Learn clean architecture and implement SOLID principles
Build a .NET Core API and Blazor UI Application
Learn about custom exceptions and global error handling
Implement JWT authentication to build API client secure application
Use Swagger for API documentation and add Email Service using SendGrid
Implement CQRS pattern and Mediator pattern

Audience

If you are a software developer or engineer looking to enhance your skills in .NET Core development and eager to take your .NET Core development skills to the next level, then this course is for you!

This course is ideal for developers who have a solid understanding of C# and have been working with it for at least three months. If you have experience using Visual Studio 2022, .NET 7, and have a basic understanding of .NET Core development, you will have a head start on this course.

Approach

This course is smartly broken up to highlight a set of related activities based on each module in the application that is being built. We will also look at troubleshooting and debugging errors as we go along; implementing best practices; writing efficient logic and understanding why developers do things the way they do. Your knowledge will grow, step-by-step, throughout the course.

Key Features

You will develop proficiency in using debugging tools with Visual Studio code editor * Build a strong foundation in .NET clean architecture with an engaging 10+ hours of premium content * Comes bundled with working files hosted on GitHub, to make it easier for you to replicate the code used

Github Repo

https://github.com/PacktPublishing/ASP.NET-Core-SOLID-and-Clean-Architecture-.NET-5-and-up-

About the Author

Trevoir Williams

Trevoir Williams is a software engineer and part-time lecturer. With a master's degree in computer science, he has spent over a decade teaching web, software, and database development courses. He also has extensive industry experience in web application development, Azure Cloud system, and server administration. He enjoys teaching IT and development courses and hopes to impart knowledge of the latest developments in industry standards and techniques to his students.

Course Outline

1. Course Introduction

1. Introduction

In this video, let's take a quick tour of the course.


2. Preliminary Concepts

1. Review of S.O.L.I.D. Principles

In this video, you will review the S.O.L.I.D. (Single responsibility, Open-closed, Liskov substitution, Interface segregation, and Dependency inversion) principles.

2. Single Responsibility Principle

In this video, you will learn about the Single responsibility principle in detail.

3. DRY Principle

In this video, you will study the DRY (Don't Repeat Yourself) principle in detail. The Open-closed principle works when DRY is followed correctly.

4. Dependency Inversion

In this video, you will learn about dependency inversion in detail.

5. Understanding Clean Architecture

In this video, you will be understanding and learning about clean architecture and its basics.

6. What We Will Be Building

In this video, you will take a tour of the code base of the existing application or the existing version of the application that will be built throughout the course.


3. Setting Clean Architecture Solution

1. Development Environment

This video helps you set up the development environment for the course, such as Visual Studio Code, .NET core, and so on, with a hand-holding approach.

2. Get Latest Visual Studio

In this video, you will be shown how to download the latest version of the Visual Studio Code Editor.

3. Setting Up Solution

In this video, you will be setting up the solution folder inside Visual Studio.

4. Overview of Solution Parts

In this video, you will learn the relation between the solution folder that was created earlier with the clean architecture.


4. Setting Up the Application Core

1. Section Overview

This video provides an overview of the section.

2. Create the Domain Project

In this video, you will be creating the domain project.

3. Create Application Core Project

In this video, you will be creating the application core project.

4. Understanding CQRS, Mediator, and AutoMapper

In this video, you will learn about CQRS, Mediator, and AutoMapper. You will start with AutoMapper, which converts complex data types with ease, then move on to understand the CQRS pattern with the help of a block diagram, and finally, look at the Mediator pattern in detail.

5. Add AutoMapper and MediatR

In this video, you will be adding AutoMapper and MediatR to the project.

6. Set Up Features Folder Structure (Vertical Slice Architecture)

In this video, you will be setting up the features folder structure (vertical slice architecture).

7. Creating CQRS Query Request and Handler - Part 1

In this video, you will be creating your first CQRS query request and handler for the folder GetAllLeaveTypes.

8. Creating CQRS Query Request and Handler - Part 2

In this video, you will be creating another CQRS query request and handler for the folder GetLeaveTypeDetails.

9. Creating CQRS Command Request and Handler - Part 1

This is the first two-part video that helps in creating CQRS command request and handler. Here, you will look at creating command and handlers for the CreateLeaveType folder.

10. Creating CQRS Command Request and Handler - Part 2

This is the second of the two-part video that helps in creating CQRS command request and handler. Here, you will look at creating command and handlers for the DeleteLeaveType and UpdateLeaveType folder.

11. Adding Custom Exceptions

In this video, you will be looking at adding custom exceptions to control the flow of the application.

12. Adding FluentValidation

This video will help in adding the FluentValidation package to protect our data integrity.

13. Section Review

This video will help you with some important concepts learned in the section.


5. Setting Up Infrastructure Projects

1. Section Overview

This video provides an overview of this section on setting up the infrastructure projects.

2. Create the Persistence Project

In this video, you will be creating the persistence project.

3. Add Entity Framework and Database Context

This video will help you with adding the entity framework and database context.

4. Add Repository Implementations

This video will help in adding repository implementations.

5. EF Core - No Tracking

In this video, you will look at the EF Core for no-tracking purposes. You will be adding AsNoTracking method before the list part in the code files.

6. Completing Repositories

This video helps you complete the repositories with implementations of different methods.

7. Create Infrastructure Project

This video helps in creating the infrastructure project. Here, the infrastructure project will hold implementation of third-party services.

8. Add Third-Party Email Service

This video will help in adding a third-party email service.

9. Add Third-Party Logging (SeriLog)

In this video, you will be adding a third-party logging (SeriLog) to the application.

10. Section Review

This video will help you with some important concepts learned in the section, such as setting up the persistence project and adding infrastructure project.


6. Creating the API Project

1. Section Overview

This video will provide an overview of this section on development of the API.

2. Create the API Project

In this video, you will be creating the API project.

3. Scaffolding Database

This video will help you with scaffolding database. Scaffolding databases can be a valuable tool for streamlining the database development process and helping teams to quickly and efficiently create a functional database system.

4. Implementing Controller with MediatR - Part 1

In this video, you will be implementing the controller with MediatR. Here, you will create an API controller with read/write actions for GET API.

5. Implementing Controller with MediatR - Part 2

In this video, you will be implementing the controller with MediatR. Here, you will create an API controller with read/write actions for POST API, PUT API, and DELETE API.

6. Complete Leave Allocation Feature

In this video, you will be completing the leave allocation feature added to the application.

7. Complete Leave Request Feature

In this video, we will complete the implementation of the leave request feature.

8. Global Error Handling

In this video, we are going to look at the global error handling for our API.

9. Section Review

This video will help you with some important concepts learned in the section, such as configuring API along with adding leave allocation and leave request features.


7. Testing

1. Section Overview

This video will provide you with an introduction and overview of what you will be learning in this section.

2. Creating Application Unit Project

In this video, we will be setting a test project for our application layer unit tests.

3. Unit Testing the Application Code - Set Up Mocks

In this video, you will get your hands dirty with unit testing the application code and start by setting up the mock repository.

4. Unit Testing the Application Code - Testing Handlers

In this video, you will be adding testing handlers while unit testing the application code.

5. Integration Testing - Entity Framework

This video helps you work around with the entity framework while doing integration testing.

6. Section Review

This video will help you with some important concepts learned in the section, such as automating testing, unit testing, and integration testing.


8. Adding the UI

1. Section Overview

This video provides an overview of the section.

2. Creating UI Project - Blazor WebAssembly

In this video, you will be creating the UI project with Blazor WebAssembly app.

3. Using NSwag and NSwagStudio to Consume API

In this video, you will be using NSwag and NSwagStudio to consume API.

4. Configure App for API

This video helps you to configure the app for API.

5. Set Up Leave Type Management Service

In this video, you will set up the leave type management service.

6. Set Up Leave Type Management UI

In this video, you will set up the leave type management user interface.


9. Securing API and UI

1. Add Security Using Identity

In this video, we will be adding security using Identity to secure API and Blazor app.

2. Add JSON Web Token (JWT) Authentication to API

In this video, you will be adding JSON Web Token (JWT) authentication to API.

3. Add Authentication Services to Blazor

In this video, we will be adding authentication services/facility to Blazor app.

4. Add UI Changes for Security

In this video, you will be adding UI changes for security.

5. Section Review

This video will help you with some important concepts learned in the section, such as Blazor WebAssembly and API security.


10. Complete Application Features

1. Set Up Leave Allocation Management

In this video, we will be setting up leave allocation management.

2. Set Up Leave Request Management - Part 1 - Employee Request

This is the first of the four-part video, where you will be looking at setting up leave request management and primarily focus on employee leave requests.

3. Set Up Leave Request Management - Part 2 - Admin View

This is the second of the four-part video, where you will be looking at setting up leave request management and primarily focus on the admin view of the leave application.

4. Set Up Leave Request Management - Part 3 - Approval

This is the third of the four-part video, where you will be looking at setting up leave request management and primarily focus on the leave approval part.

5. Set Up Leave Request Management - Part 4 - Cancel Request

This is the fourth of the four-part video, where you will be looking at setting up leave request management and primarily focus on cancelling the leave request.

6. Section Review

This video will help you with the section review.


11. Value-Added Features

1. Improve Logging

In this video, you will be improving the logging part in the application.

2. Improve Data Auditing

In this video, you will be improving the data auditing part.

3. Add Notifications

In this video, you will be adding notifications for your application.


12. Summary and Closing

1. Conclusion

In this video, we will look at the summary and what has been learned throughout the course's journey, such as clean architecture and coding patterns and concepts.

Course Content

  1. ASP.NET Core - SOLID and Clean Architecture (.NET 5 and Up)

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews