
Master Blazor WebAssembly development with .NET 5, building a fully functional WebAssembly app while navigating the .NET 5 workflow, folder structure, entity framework, APIs, and deployment patterns.
Install Visual Studio 2022 Community Edition and configure it with the ASP.NET and Web Development workload and the Dotnet desktop development workload for this course.
Install Visual Studio 2026 insider preview, select workloads like ASP.NET web development, Maui, and Azure, and explore its AI Copilot chat integrated UI alongside VS 2022, with settings synchronization.
Sign up for GitHub by completing a simple form with a unique username, email, and password, then sign in to view your landing page, follow others, and manage repositories.
Learn how to create a Blazor component
Learn how to make a component a page
Learn how to embed a component in another
Review and add changes to GitHub demonstrates adding your Blazor project to source control, creating a public repository, and pushing updates to build your portfolio.
Explore data-related operations in the Blazor WebAssembly app, leveraging Identity Core for authentication and Entity Framework for migrations, a code-first database context, and scaffolded database setup.
Learn how Blazor apps implement authentication with identity core and identity server. Extend the default user with custom fields, configure API authorization, and manage identity databases with migrations.
Create database tables with Entity Framework Core by defining domain models: colors, models, vehicles, bookings, and customers. Update the application context and generate migrations to build and seed the database.
Learn how to seed a Blazor WebAssembly app's database by using Entity Framework Core configurations, building color, make, and model seed data, applying configurations, and managing IDs and migrations.
Seed default users and their roles in a Blazor WebAssembly full stack app by hashing passwords, creating admin and regular user records, and linking them to roles before migration.
Upgrade to .NET 6 changes identity libraries and adds a key column; fix by adding the missing using and running migrations to create the keys table and update the database.
Review the section from identity server setup to seeding domain models, then commit and push changes to GitHub, ensuring migrations and database seeding synchronize.
Understand how a Blazor app's server project acts as an API, exposing endpoints via API controllers like a weather forecast controller, and how client and server fit together.
Create and test api endpoints with api controller using entity framework, supporting get, post, put, delete, tested via postman with authorization; plan unit of work to decouple controllers from database.
Refactor controllers to use a unit of work via dependency injection, convert CRUD actions to async, and enable audit logging with HTTP context user data.
Refactor the rest API to use a unit of work with a generic repository, inject user context for audit values, register services at startup, and commit changes to GitHub.
Blazor display data list shows building a razor component to fetch and render a database table with bootstrap, including view, edit, and delete actions via http client and js interop.
Explore retrieving and displaying api data in Blazor, enforce authorized access, centralize endpoints, and include related data (make, model, color, bookings) across vehicle and booking views.
Fix the delete endpoint by removing trailing slashes from API endpoints and magic strings to prevent 404 errors and ensure correct URL building in Blazor WebAssembly.
Use Blazor's built-in add form to create vehicles, with dropdowns for make, model, and color populated from related tables. Submit to the API and navigate back to the vehicles index.
Creates forms for makes, models, colors, customers, and bookings in a Blazor WebAssembly app using API-driven dropdowns, input validation, and post-create navigation.
Create a reusable update form in a Blazor WebAssembly app by building a shared form component with parameters and event callbacks, used for both create and edit flows.
Use a reusable form component to handle create and edit for models, colors, and bookings, inject a client for preloaded dropdowns, and enable back-to-list navigation with a bucket list.
Fix a vehicle edit bug by introducing a separate get details endpoint to retrieve included navigation properties, ensuring dropdown selections update correctly and reflect changes.
We modify the Bookings Update screen so that we can add a Date In value to update a booking. We explore Adding Custom Validation
Learn to fix audit fields in Blazor by retrieving the user id from token claims, resolving the user via user manager, and storing the creator and updater usernames.
Enforce data quality in forms using data annotations in Blazor, marking first name, last name, tax id, and email as required with length and type constraints on create and edit.
Build a read-only details view for a customer by extending a reusable form component with a disabled parameter, fetch the customer by id, and return to the list.
Clean up code and commit changes to GitHub, reuse components for create, edit, and read-only views, and manage API endpoints with a static endpoint builder, applying data annotations for validation.
learn global error handling in blazor webassembly by using an http client interceptor to monitor api calls, handle non success responses, and navigate to 404, 401, or 500 error pages.
Refactor UI components from code-behind for colors, customers, mix models, and vehicles, preserving bookings and forms for consistency. Implement HTTP interceptor error handling with disposal, then commit and sync changes.
Explore the identity library and tailor login and registration pages to your app, then extend the user model with first and last name and secure API calls with a token.
Explore JavaScript interop in Blazor to integrate third-party libraries like data tables and bootstrap, create a dynamic grid display, and manage cleanup with dispose for a lean, scalable app.
Explore file upload support in Blazor WebAssembly by adding an image field, saving to an uploads folder with a unique name, and rendering it on the vehicle index.
Discover progressive web applications that enable downloadable web apps via modern browser APIs, manifest files, and offline installation across chromium-based browsers.
Overview
Writing modern web applications with a rich UI can be tedious. Blazor gives us .NET developers a chance to leverage our C# skills and build interactive web UIs. In this course, Modern Web Development with Blazor and .NET 5, you will gain the ability to build web applications using Blazor. We will explore: setting up your first Blazor application, how to work with an API and how data binding works, how to create and integrate JavaScript components.
When you have finished this course, you will have the skills and knowledge to build a web application using Blazor.
**UPDATE**
.NET 6 is now available and is shipped with Visual Studio 2022. This course has been updated to show how to create the project using Visual Studio 2022 and .NET 6.
Everything in this course is .NET 6 / .NET 7 compatible.
Otherwise, everything in the project will work just the same if you are not inclined to upgrade, even if you do.
Why Develop With Blazor?
The most popular JavaScript client-side web frameworks have been Angular, React, Vue and others. In this course, we keep it .NET by using Blazor, which is Microsoft's response to that monopoly.
Blazor allows you to create a Single Page Application on top of .NET Core and continue coding in C# (without needing to flip between C# and JavaScript too much). Blazor apps boast reusable web UI components implemented using C#, HTML, and CSS. Both client and server code are written in C#, allowing you to share code and libraries.
Blazor WebAssembly
Blazor can run your client-side C# code directly in the browser, using WebAssembly (WASM for short). Because it's real .NET running on WebAssembly, you can re-use code and libraries from server-side parts of your application.
We will explore many intricacies of the Blazor life-cycle, data flow, JavaScript Interoperability, and general development activities and nuances.
Deploy To Microsoft Azure Cloud
Azure Web App Service is key to deploying the API and Blazor Server Applications. We will also enlist Azure SQL for the Database to support our API.
Build A Strong Foundation in .NET 5 Programming With Blazor:
Build a Single Page Application client-side UI using Blazor and .NET 5 (or .NET 6)
Design a Database Using Entity Framework Core
Repository Pattern and Dependency Injection
Progressive Web Application (PWA) with Blazor
Understand the REST API and Client UI design principles
Global Error Handling with HTTP Interceptor
Understand C# and .NET Core Web Syntax
Understand how to customize Blazor app layouts
Understand User Authentication and Authorization in Blazor
Understand Identity Core and Identity Server
Handle Blazor Application User Authentication State
Consume REST Web API in Blazor Application
Manage Packages with NuGet Manager
Setup GitHub for Source Control
Deploy Applications and Database to Microsoft Azure
PREREQUISITES
To take this course, you should have at least 3 months of experience programming in C#. If you need to strengthen your C# fundamentals, you can take my C# beginner course C# Console and Windows Forms Development with LINQ & ADO .NET. If you need to brush up on your web development skills, you may also review Introduction To Website Development Technologies to learn the fundamentals of HTML, CSS, and JavaScript.
Content and Overview
To take this course, you must have some knowledge of Object Oriented Programming, if not C#. Even if you have little exposure to the .NET development stack, this course is beginner-friendly and full of development tips.
This is a huge course. Over 10 hours of premium content, but smartly broken up to highlight related activities based on each module in the application 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, and you will be challenged to be the best you can be.
We don't do things the perfect way the first time; that is different from the reality of writing code. We make mistakes and point them out and fix them around them. By doing this, we develop proficiency in using debugging tools and techniques. By the time you have finished the course, you will have moved around in Visual Studio and examined logic and syntax errors so much that it will be second nature for you when working in the .NET environment. This will put your newly learned skills into practical use and impress your boss and coworkers.
The course is complete with working files hosted on GitHub, including some files to make it easier for you to replicate the demonstrated code. You will be able to work alongside the author as you work through each lecture and will receive a verifiable certificate of completion upon finishing the course.
Clicking the Take This Course button could be the best step you could take towards quickly increasing your income and marketability! Also, remember that if you don't think the course is worth what you spent, you have a full 30 days to get a no questions asked refund!
It's time to take action!
See you in the course!