Asp.Net Core 8 Web Api: Clean Architecture + Azure Services - Printable Version +- Softwarez.Info - Software's World! (https://softwarez.info) +-- Forum: Library Zone (https://softwarez.info/Forum-Library-Zone) +--- Forum: Video Tutorials (https://softwarez.info/Forum-Video-Tutorials) +--- Thread: Asp.Net Core 8 Web Api: Clean Architecture + Azure Services (/Thread-Asp-Net-Core-8-Web-Api-Clean-Architecture-Azure-Services) |
Asp.Net Core 8 Web Api: Clean Architecture + Azure Services - BaDshaH - 02-27-2024 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 [b]What you'll learn[/b] 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 [b]Requirements[/b] Basic C# knowledge (LINQ, async/await and generic collections) [b]Description[/b] 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 infrastructureatabase 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. Homepage |