Mô tả

Master Clean Architecture & Azure for Scalable APIs in ASP.NET Core 8

Ready to build robust, high-performance RESTful APIs with confidence? This comprehensive course empowers you with the knowledge and skills to create modern web APIs using the powerful combination of ASP.NET Core 8, Clean Architecture, and Azure services.

Your journey begins with understanding the fundamentals:

  • RESTful API essentials: Demystify HTTP communication, grasp REST principles, and set up your local development environment.

  • ASP.NET Core 8 mastery: Dive into routing, model binding, and HTTP client usage to build the foundation of your API.

  • Clean Architecture adoption: Learn the benefits and principles of Clean Architecture, and apply them to structure your API for maintainability and flexibility.

Next, you'll establish the infrastructure:

  • Database connection with Entity Framework: Set up your MS SQL database and leverage Entity Framework for seamless data interaction.

  • Seeding mechanism: Populate your database with essential data for realistic testing and functionality.

Ready to build features? Buckle up!

  • RESTful resource management: Create, retrieve, update, and delete resources following REST best practices.

  • DTO mapping and validation: Ensure data integrity and security with efficient mapping and Fluent Validation.

  • Command/Query Responsibility Segregation: Organize your code with a clear separation of concerns using MediatR.

More than just features - enhance your API's robustness:

  • Logging with Serilog: Track API events for troubleshooting and maintainability.

  • Automated documentation: Generate clear API documentation for easy client integration.

  • Global exception handling: Gracefully handle errors and provide informative feedback to clients.

Deep dive into advanced topics:

  • Sub-entity management: Handle nested resources within your main entities with proper RESTful structure.

  • User authentication and authorization: Secure your API with user accounts, roles, and custom claims using ASP.NET Identity.

  • Pagination and sorting: Optimize performance for large datasets with pagination and sorting capabilities.

Testing and deployment are crucial:

  • Automated unit and integration tests: Ensure code quality and prevent regressions with comprehensive testing strategies.

  • Azure deployment: Leverage Azure App Service and Azure SQL to deploy your API to a scalable cloud environment.

  • CI/CD pipelines: Automate deployment processes for efficient updates and bug fixes.

By the end of this course, you'll be equipped to:

  • Architect and build secure, maintainable, and scalable RESTful APIs.

  • Confidently leverage Clean Architecture principles for code organization.

  • Utilize powerful Azure services for deployment and scalability.

  • Implement best practices for performance, logging, testing, and documentation.

Enroll now and take your API development skills to the next level!

Bạn sẽ học được gì

Create a backend for a web application that will add, modify, delete, or return data.

Build an MS SQL database based on C# classes.

Add authentication and authorization for API users.

Create a Clean architecture solution following CQRS

Implement custom middleware.

Handle files - return them from the API and upload to the server.

Log application information or errors to text files using Serilog.

Write a CI/CD pipelines to automatically build and deploy the app.

Write automated unit & integration tests

Deploy the application to the Azure cloud.

Yêu cầu

  • Basic C# knowledge (LINQ, async/await and generic collections)

Nội dung khoá học

14 sections

Course introduction

3 lectures
Welcome message
06:00
Source code
00:09
Final project
01:54

REST Web API

11 lectures
Module introduction
00:23
HTTP Protocol
04:34
REST API
08:18
Local environment setup
02:48
New Web API project
03:43
Starting point
09:33
Built in DI container
05:57
HTTP Client
08:26
Routing and Model binding
06:20
Status codes
07:52
Exercise - First endpoint
07:48

Solution architecture

4 lectures
Module introduction
00:19
Clean architecture
04:58
Adding solution modules
04:52
Defining entities
06:19

Setting up infrastructure

6 lectures
Module introduction
00:33
Entity Framework overview
05:14
Installing EF
15:54
Flexible Database connection
10:19
Seeding data
07:55
Exercise - migration
03:31

API Controller

9 lectures
Module introduction
00:30
Retrieving entities
12:56
Exercise - getting specific resource
07:15
Returing DTOs
09:59
Automapper
08:57
Automapper package update
00:12
Creating resources
11:21
Model validation
10:15
FluentValidation
12:58

CQRS + MediatR

5 lectures
Module introduction
00:28
CQRS Introduction
06:02
CQRS with MediatR
15:38
Deleting resources
08:53
Exercise - Updating resources
11:03

Web API utilities

7 lectures
Module introduction
00:31
Adding logger
13:19
Logging to a file
08:46
Swagger docs
09:53
Exception Handling middleware
09:24
Custom Exceptions
07:38
Exercise - Time logging middleware
05:06

Subentities

6 lectures
Module introduction
00:14
Subentities in REST
02:33
Creating subentities
15:06
Retrieving subentities
11:00
Exercise - removing sub entities
06:13
Location header for subentity
03:26

Authentication

8 lectures
Module introduction
00:35
What is authentication
02:59
ASP.NET Identity
13:13
Swagger support of identity
07:33
Extracting presentation layer services
02:16
Authentication setup
08:00
User Context
09:27
Extending user definition
13:23

Authorization

11 lectures
Module introduction
00:35
What is authorization
03:48
Role based authorization
13:06
Assigning user roles
12:31
Exercise - Unassigning user role
07:06
Custom user claims
07:41
Claim based access control
09:20
Custom authorization requirements
12:11
User resources
11:08
Resource based authorization
15:41
Exercise - authorization policy
09:57

Results pagination

7 lectures
Module introduction
00:30
Pagination introduction
07:51
Filtering results
10:09
Results pagination
18:43
Pagination request validation
06:09
Sorting results
10:38
IQueryable methods order
03:50

Automated testing

14 lectures
Module introduction
00:34
Automated tests - introduction
06:01
Quick unit test creation
07:06
Current user tests
08:59
UserContext Tests
10:51
Validator tests
08:19
Mapping test
08:04
CommandHandler tests
08:32
Exercise - unit tests
11:06
Authorization policies tests
09:26
Middleware test
06:01
Controller integration tests
05:49
Testing endpoints with authorization
10:07
Adjusting solution structure
04:46

Azure Cloud deployment and services

13 lectures
Module introduction
00:22
Azure - introduction
04:24
Creating Azure App service
14:43
Deploying API to web app
04:53
Setting up Azure SQL
10:45
Connection to Azure SQL & automatic migrations
13:38
Application insights
11:28
Blob storage
09:39
Uploading to blob storage
18:09
Generating blob SAS url
10:44
Working with blobs locally
09:07
Exercise - deploying azure resources
11:34
Exercise solution - Deploying azure resources
12:33

Continuous Integration and Continuous Deployment

7 lectures
Module introduction
00:29
Continous Integration (CI)
02:54
CI in Github actions
11:05
Pull request policy
07:11
Continous Delivery/Deployment (CD)
02:42
Continous deployment pipeline
15:18
Continous delivery
05:39

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.