Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Asp.Net Core 8 Web Api: Clean Architecture + Azure Services

Posted By: ELK1nG
Asp.Net Core 8 Web Api: Clean Architecture + Azure Services

Asp.Net Core 8 Web Api: Clean Architecture + Azure Services
Published 2/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 8.55 GB | Duration: 13h 39m

Build .NET 8 APIs in Clean Architecture, user Identity system and Azure deployment using CI/CD + practical exercises

What you'll learn

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.

Deploy the application to the Azure cloud.

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.

You will write a CI/CD pipeline.

Write automated unit & integration tests

Requirements

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

Description

Master Clean Architecture & Azure for Scalable APIs in ASP.NET Core 8Ready 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!

Overview

Section 1: Course introduction

Lecture 1 Welcome message

Section 2: REST Web API

Lecture 2 Module introduction

Lecture 3 HTTP Protocol

Lecture 4 REST API

Lecture 5 Local environment setup

Lecture 6 New Web API project

Lecture 7 Starting point

Lecture 8 Built in DI container

Lecture 9 HTTP Client

Lecture 10 Routing and Model binding

Lecture 11 Status codes

Lecture 12 Exercise - First endpoint

Section 3: Solution architecture

Lecture 13 Module introduction

Lecture 14 Clean architecture

Lecture 15 Adding solution modules

Lecture 16 Defining entities

Section 4: Setting up infrastructure

Lecture 17 Module introduction

Lecture 18 Entity Framework overview

Lecture 19 Installing EF

Lecture 20 Flexible Database connection

Lecture 21 Seeding data

Lecture 22 Exercise - migration

Section 5: API Controller

Lecture 23 Module introduction

Lecture 24 Retrieving entities

Lecture 25 Exercise - getting specific resource

Lecture 26 Returing DTOs

Lecture 27 Automapper

Lecture 28 Creating resources

Lecture 29 Model validation

Lecture 30 FluentValidation

Section 6: CQRS + MediatR

Lecture 31 Module introduction

Lecture 32 CQRS Introduction

Lecture 33 CQRS with MediatR

Lecture 34 Deleting resources

Lecture 35 Exercise - Updating resources

Section 7: Web API utilities

Lecture 36 Module introduction

Lecture 37 Adding logger

Lecture 38 Logging to a file

Lecture 39 Swagger docs

Lecture 40 Exception Handling middleware

Lecture 41 Custom Exceptions

Lecture 42 Exercise - Time logging middleware

Section 8: Subentities

Lecture 43 Module introduction

Lecture 44 Subentities in REST

Lecture 45 Creating subentities

Lecture 46 Retrieving subentities

Lecture 47 Exercise - removing sub entities

Lecture 48 Location header for subentity

Section 9: Authentication

Lecture 49 Module introduction

Lecture 50 What is authentication

Lecture 51 ASP.NET Identity

Lecture 52 Swagger support of identity

Lecture 53 Extracting presentation layer services

Lecture 54 Authentication setup

Lecture 55 User Context

Lecture 56 Extending user definition

Section 10: Authorization

Lecture 57 Module introduction

Lecture 58 What is authorization

Lecture 59 Role based authorization

Lecture 60 Assigning user roles

Lecture 61 Exercise - Unassigning user role

Lecture 62 Custom user claims

Lecture 63 Claim based access control

Lecture 64 Custom authorization requirements

Lecture 65 User resources

Lecture 66 Resource based authorization

Lecture 67 Exercise - authorization policy

Section 11: Results pagination

Lecture 68 Module introduction

Lecture 69 Pagination introduction

Lecture 70 Filtering results

Lecture 71 Results pagination

Lecture 72 Pagination request validation

Lecture 73 Sorting results

Lecture 74 IQueryable methods order

Section 12: Automated testing

Lecture 75 Module introduction

Lecture 76 Automated tests - introduction

Lecture 77 Quick unit test creation

Lecture 78 Current user tests

Lecture 79 UserContext Tests

Lecture 80 Validator tests

Lecture 81 Mapping test

Lecture 82 CommandHandler tests

Lecture 83 Exercise - unit tests

Lecture 84 Authorization policies tests

Lecture 85 Middleware test

Lecture 86 Controller integration tests

Lecture 87 Testing endpoints with authorization

Lecture 88 Adjusting solution structure

Section 13: Azure Cloud deployment and services

Lecture 89 Module introduction

Lecture 90 Azure - introduction

Lecture 91 Creating Azure App service

Lecture 92 Deploying API to web app

Lecture 93 Setting up Azure SQL

Lecture 94 Connection to Azure SQL & automatic migrations

Lecture 95 Application insights

Lecture 96 Blob storage

Lecture 97 Uploading to blob storage

Lecture 98 Generating blob SAS url

Lecture 99 Working with blobs locally

Lecture 100 Exercise - deploying azure resources

Lecture 101 Exercise solution - Deploying azure resources

Section 14: Continuous Integration and Continuous Deployment

Lecture 102 Module introduction

Lecture 103 Continous Integration (CI)

Lecture 104 CI in Github actions

Lecture 105 Pull request policy

Beginner .NET developers who want to learn how to create web applications.