Designing SOLID and Clean Architecture with ASP.NET Core Online Course
Designing SOLID and Clean Architecture with ASP.NET Core Online Course
This course focuses on creating modular, testable, and maintainable applications in ASP.NET Core. It covers essential architectural principles to ensure long-term scalability and ease of extension. You’ll learn how to set up a robust application architecture, integrate common blocks like email and authentication, and prepare your app for third-party service integration. By the end, you’ll have the expertise to architect real-world, enterprise-level ASP.NET Core applications that are maintainable and future-proof.
Key Benefits
- Gain expertise in utilizing debugging tools within the Visual Studio Code editor for efficient troubleshooting and optimization.
- Establish a solid understanding of .NET Clean Architecture through over 10 hours of high-quality, engaging content designed to build a strong foundational knowledge.
- Access working files hosted on GitHub, enabling you to easily replicate and implement the code demonstrated throughout the course.
Target Audience
This course is designed for software developers and engineers seeking to advance their skills in .NET Core development. If you are looking to elevate your expertise in .NET Core, this course is perfect for you. It is intended for developers with a strong understanding of C# and at least three months of hands-on experience with the language. Familiarity with Visual Studio 2022, .NET 7, and a basic knowledge of .NET Core development will give you a valuable head start as you progress through the course.
Learning Objectives
- Master Clean Architecture and apply SOLID principles to enhance code maintainability and scalability.
- Develop a robust .NET Core API and a Blazor UI application, integrating both front-end and back-end functionalities.
- Understand the creation and management of custom exceptions and implement global error handling to improve application reliability.
- Implement JWT authentication to secure your API client application, ensuring data protection.
- Leverage Swagger for comprehensive API documentation and integrate an email service using SendGrid for enhanced communication capabilities.
- Apply the CQRS (Command Query Responsibility Segregation) pattern and the Mediator pattern to streamline application workflows and enhance scalability.
Course Topics
The Designing SOLID and Clean Architecture with ASP.NET Core Exam covers the following topics -
Module 1 - Course Introduction
- Overview of course objectives and structure.
- Introduction to key concepts and the project you will build.
Module 2 - Preliminary Concepts
- Review of the S.O.L.I.D. principles (Single Responsibility, DRY, Dependency Inversion).
- Introduction to Clean Architecture and its importance.
- Outline of the project to be developed during the course.
Module 3 - Setting Up the Clean Architecture Solution
- Setup of the development environment with the latest version of Visual Studio.
- Initialization of the solution structure and overview of its components.
- Understanding the various parts of the solution.
Module 4 - Setting Up the Application Core
- Creation of Domain and Application Core projects.
- Introduction to CQRS, Mediator, and AutoMapper.
- Integration of CQRS, Mediator, and AutoMapper in the solution.
- Organizing the project using vertical slice architecture.
- Building CQRS query and command requests, handlers, and managing exceptions.
- Implementation of FluentValidation.
Module 5 - Setting Up Infrastructure Projects
- Creation of the Persistence project and adding Entity Framework Core (EF Core) with a database context.
- Repository implementation and handling EF Core No Tracking.
- Setting up the Infrastructure project and adding third-party services (email, logging).
- Integration of SeriLog for structured logging.
Module 6 - Creating the API Project
- API project creation and database scaffolding.
- Implementing controllers with MediatR for feature management.
- Building the Leave Allocation and Leave Request features.
- Implementing global error handling for the API.
Module 7 - Testing
- Introduction to testing with unit tests for application code.
- Setting up mocks for unit testing and testing handlers.
- Integration testing with Entity Framework to validate data persistence.
Module 8 - Adding the UI
- Creating a Blazor WebAssembly project for the UI.
- Using NSwag and NSwagStudio to consume the API.
- Configuring the app for API consumption and setting up Leave Type Management services and UI.
Module 9 - Securing API and UI
- Adding security to the application using Identity.
- Implementing JWT (JSON Web Token) authentication for API security.
- Integrating authentication services with Blazor UI and updating the UI for security features.
Module 10 - Completing Application Features
- Finalizing Leave Allocation and Leave Request management features.
- Managing employee requests, admin view, approval, and cancellation of requests.
Module 11 - Value-Added Features
- Enhancing the application with improved logging and data auditing.
- Adding notifications to improve user experience and system robustness.