Booking options
£41.99
£41.99
On-Demand course
10 hours 3 minutes
All levels
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-
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
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.
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.
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
https://github.com/PacktPublishing/ASP.NET-Core-SOLID-and-Clean-Architecture-.NET-5-and-up-
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.
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. |