.NET Web Academy
              

.NET Web API & Blazor WebAssembly Masterclass

Master .NET Web API, Blazor WebAssembly, and full-stack development by building a real-world project step-by-step!

❔ About the Course

Ready to build professional-grade full-stack applications? This masterclass is a step-by-step guide to creating robust .NET Web APIs and modern Blazor WebAssembly applications.

You’ll start with the fundamentals and progress to advanced concepts, including Entity Framework, Dependency Injection, and secure authentication with Identity and JSON Web Tokens.

By the end, you’ll have the skills to design, build, and deploy full-stack applications to Azure. Whether you're new to .NET or want to expand your skills, this course is the perfect fit.

πŸ“˜ What You'll Learn

In this course, you’ll learn how to:

  • πŸ’» Build REST APIs with .NET 9.
  • πŸ“Š Work with databases using Entity Framework Core.
  • πŸ”’ Add secure logins with Identity and JSON Web Tokens.
  • 🎨 Build beautiful Blazor WebAssembly apps.
  • πŸš€ Deploy your app to Azure and make it live.
  • πŸ› οΈ Make your app better and faster with simple tricks.

πŸ› οΈ What You'll Build

You’ll create a Time Tracking application with a robust API, secure authentication, dynamic frontend features, and seamless Azure deployment. By the end, you’ll have a production-ready app to showcase your skills.

πŸ“ Course Content

Welcome! βž•
📽️ Introduction
0m 58s
📽️ Course Overview
Preview
📄 Accessing the Source Code for this Masterclass
📽️ GitHub Repository
1m 49s
Let's get started! βž•
📽️ Tools & SDKs (.NET Framework & Visual Studio)
Preview
📽️ Heads Up: .NET 8 & .NET 9
Preview
📽️ Create Your First Project
Preview
📽️ .NET 9: Program.cs & Testing the API with Scalar
Preview
📽️ API Project Overview
Preview
📽️ Test The Example API
Preview
📽️ Heads-Up: Add a Class Library with .NET 8 & .NET 9
Preview
📽️ Create another project (already?!)
Preview
📽️ Add your first model
Preview
📽️ Add your first controller
Preview
📽️ Write your first GET call
Preview
📽️ Let’s store our code
Preview
Store your code with Git & GitHub βž•
📽️ Download & Install Git
2m 10s
📽️ Create a GitHub account
3m 31s
📽️ Create a repository with Visual Studio
9m 14s
📽️ Check out your GitHub repository
4m 15s
Implement all CRUD operations βž•
📽️ GET, POST, What? - HTTP Request Methods
Preview
❔ Quiz: HTTP Request Methods
Preview
📽️ Model-View-... what pattern is this?
4m 34s
❔ Quiz: MVC & MVVM
📽️ Create a new entry
2m 41s
📽️ Let’s create a feature branch - a what?
6m 27s
📽️ Fat Controllers, the Repository Pattern & Dependency Injection
Preview
📽️ Use the Repository Pattern & Dependency Injection
Preview
📄 Enhancing Flexibility with the Repository Pattern & Dependency Injection
❔ Quiz: Repository Pattern & Dependency Injection
📽️ Introduce Data Transfer Objects
5m 29s
📽️ Implement DTOs & the TimeEntryService
11m 19s
📽️ Map Entities & Models with Mapster
5m 21s
❔ Quiz: Data Transfer Objects
📽️ Update an entity
14m 04s
📽️ Delete an entity
3m 59s
📽️ Get a single entity
7m 24s
📽️ Merge the branches
3m 18s
Publish to Azure & deploy with GitHub Actions βž•
📽️ Push your changes first
1m 17s
📽️ Create a (free) Azure account
1m 28s
📽️ Create a Web App in Azure (Linux Config)
6m 18s
📽️ Configure Deployment with Azure and GitHub Actions
6m 03s
📽️ Enable Swagger for Production
5m 43s
📽️ Azure Free & Shared Tier
1m 58s
Add a Database & use Entity Framework βž•
📽️ Install SQL Server, SQL Server Management Studio & Azure Data Studio
1m 59s
📽️ About ORM, Entity Framework & Code-First Migrations
2m 19s
❔ Quiz: ORM, Entity Framework & Code-First Migrations
📽️ Install NuGet Packages & Create a new Feature Branch
3m 35s
📽️ Install EF Core Tools
3m 00s
📽️ Implement the DataContext
3m 10s
📽️ Add Global Usings
5m 23s
📽️ ConnectionString & Adding the DbContext
6m 04s
📽️ First Migration
5m 15s
📽️ About async & await
3m 41s
❔ Quiz: Asynchronous Calls
📽️ Change the POST Implementation
6m 32s
📽️ Change the GET Implementations
4m 39s
📽️ Change the PUT Implementation
5m 36s
📽️ Change the DELETE Implementation
3m 02s
📽️ Use a Custom Exception (when the Entity is null)
10m 38s
❔ Quiz: Throwing Exceptions vs. Returning Null
📽️ Improve performance with records & record structs
9m 39s
❔ Quiz: Records & Record Structs
📽️ Create a Database in Azure
6m 41s
📽️ Configure Access to the Azure SQL Database
2m 40s
📽️ Use a Migration Script (to create the table in the Azure DB)
6m 09s
📄 Important Notice: Preventing 500 Internal Server Errors in Azure
📽️ Push Changes & Deploy to Azure
5m 46s
📽️ Troubleshooting: Fixing Access to the Azure SQL Database
3m 54s
Relationships in Relational Databases βž•
📽️ Create another Feature Branch
1m 32s
📽️ Add the Project Model
3m 03s
📽️ Work with Inheritance
3m 01s
📽️ Add Migration & DbSet
17m 00s
📽️ Types of Relationships
3m 50s
📽️ One-to-One Relationship with ProjectDetails
6m 04s
📽️ Many-to-Many Relationship with Users
6m 23s
📽️ Fix the TimeEntry Implementations & Include Nested Objects
15m 41s
📽️ Automatically Include Nested Objects
4m 26s
📽️ Map the Project Details
6m 57s
📽️ Exercise: Implement CRUD for Projects
2m 08s
📽️ Solution: Implement CRUD for Projects
35m 40s
📽️ Add Migration to Azure
8m 06s
📽️ Push Changes & Deploy to Azure
3m 37s
❔ Quiz: Relationships & Entity Framework
Blazor WebAssembly βž•
📽️ What the heck is Blazor WebAssembly?
3m 58s
📽️ .NET 8/9: Add a Blazor WebAssembly Standalone App
1m 14s
📽️ Add the Client Project
11m 42s
📽️ .NET 8/9 vs .NET 7 Comparison
5m 27s
📽️ Client Project Overview
7m 02s
📽️ Create a New Page
4m 03s
📽️ Get Data from our Web API
9m 32s
📽️ Show Data on the New Page
10m 50s
📽️ CSS Isolation for Styling
4m 03s
📽️ Show Project Details (Parent to Child Communication with Parameters)
16m 41s
📽️ Filter Time Entries by Projects (Child to Parent Communication with Event Callbacks)
15m 01s
📽️ Component Communication with Services
14m 50s
📽️ New Page to Create & Edit a Time Entry
11m 42s
📽️ Introduce the EditForm
11m 15s
📽️ Create the Project Service on the Client
3m 18s
📽️ Use the Project Service
4m 33s
📽️ Add a Project to a Time Entry
5m 32s
📽️ Create a new Time Entry
5m 08s
📽️ Add Validation to the EditForm
9m 09s
📽️ Edit a Time Entry
2m 04s
📽️ Delete a Time Entry
4m 04s
📽️ Use the JSRuntime
3m 10s
📽️ Implement a DataGrid with QuickGrid
11m 53s
📽️ Filter Entries in a DataGrid
5m 22s
📽️ Add Pagination to the DataGrid
1m 59s
📽️ Exercise: Projects Implementation
1m 39s
📽️ Solution: Projects Implementation
26m 16s
📽️ Merge Branch & Publish to Azure
4m 22s
❔ Quiz: Blazor WebAssembly
📽️ Bonus: Remote Data with QuickGrid
21m 27s
Authentication with ASP.NET Core Identity βž•
📽️ Introduction to ASP.NET Core Identity
6m 22s
📽️ Install Identity Packages
3m 38s
📽️ Should You Split the Database?
7m 18s
📽️ Change the DataContext & Models
2m 43s
📽️ Register the Identity Services
3m 24s
📽️ Add Migration & Update the Database
2m 23s
📽️ Add a User Relationship (again)
10m 26s
📽️ Add the Authentication Service for JSON Web Tokens
10m 35s
📽️ Implement the User Registration Process
14m 30s
📽️ Customize Identity Framework Configurations
4m 37s
📽️ Implement the Login Process & Create a JSON Web Token (JWT)
14m 27s
📽️ Secure Endpoints
3m 17s
📽️ .NET 9: Test the Authentication with Scalar
5m 13s
📽️ Add the JSON Web Token in Swagger UI
5m 28s
📽️ Get User-Related Data Only (Introducing the HttpContext)
10m 47s
📽️ Set the User Id when Creating a Time Entry
4m 44s
📽️ Change the other Time Entry CRUD Operations
4m 25s
📽️ Exercise: Project Implementations
0m 33s
📽️ Solution: Project Implementations
8m 57s
📽️ Merge & Publish to Azure
10m 55s
❔ Quiz: Authentication with Identity
Authentication with Blazor WebAssembly βž•
📽️ The Easy Part: User Registration
11m 14s
📽️ Add an AuthService on the Client
4m 42s
📽️ Feedback with Toast Notifications
8m 16s
📽️ Navigate to the Registration Page
2m 29s
📽️ Create the Login Page
7m 36s
📽️ Store the Token in the LocalStorage
4m 35s
📽️ The AuthenticationStateProvider (it’s getting complex)
16m 34s
📽️ Logout & The AuthorizeView Component with Friends
12m 19s
📽️ Secure Pages with the Authorize Attribute
4m 25s
📽️ Cleanup
6m 00s
❔ Quiz: Authentication with Blazor WebAssembly
Authorization with Roles βž•
📽️ Utilize the IdentityRole
4m 34s
📽️ Secure Everything with Roles
6m 03s
📽️ Add Roles to the JSON Web Token
5m 13s
📽️ Use the RoleManager to add Roles & Check Role Array in JWT
9m 40s
📽️ Merge Branch & Publish to Azure
3m 01s
❔ Quiz: Authorization with Roles
Design with Tailwind CSS βž•
📽️ Introduction
3m 57s
📽️ Install & Configure Tailwind CSS
10m 49s
📽️ Use Tailwind’s Utility Classes
7m 20s
📽️ Create a new Layout File
4m 43s
📽️ Create the Navigation Bar
9m 10s
📽️ Change the LoginDisplay Component
4m 23s
📽️ Change the Navigation Bar
5m 01s
📽️ Fix the Mobile Menu
12m 51s
📽️ Change the Login Form
8m 09s
📽️ Build Custom Input Components
10m 31s
📽️ Fix Login Error Messages
6m 21s
📽️ Change the Register Page
16m 53s
📽️ Create & Edit Time Entries
18m 40s
📽️ Create & Edit Projects
5m 17s
📽️ Time Entries Page
7m 20s
📽️ Projects Page
1m 24s
📽️ Minify CSS & Deploy to Azure
3m 26s
❔ Quiz: Tailwind CSS
Additional Features βž•
📽️ Centered & Responsive Design
7m 58s
📽️ Filter Time Entries by Day, Month & Year
10m 21s
📽️ Switch Views with Tabs
17m 25s
📽️ Add the TimeEntry Filters
10m 30s
📽️ Show the Total Duration
7m 52s
📽️ Charts with Radzen Blazor
21m 56s
Conclusion βž•
📽️ We're not done!
1m 33s
Bonus Lectures βž•
📽️ The Specification Pattern
25m 38s
.NET 8/9 Blazor βž•
📽️ Introduction
3m 00s
📽️ .NET 8/9 Blazor Render Modes Explained
32m 26s
📽️ What about pre-rendering?
8m 37s
📽️ Update or Build from Scratch?
12m 48s
📽️ Build the .NET 8/9 Time Tracker - First Steps
15m 40s
📽️ Build the .NET 8/9 Time Tracker - Server Project
8m 50s
📄 Important: New rendermode directive in .NET 8/9
📽️ Build the .NET 8/9 Time Tracker - Client Project
17m 13s
📽️ Build the Time Tracking Application with .NET 8/9 - Discussing Prerendering & Authentication
9m 30s
📽️ Build the .NET 8/9 Time Tracker - Implement Cookie-Based Authentication
26m 53s
📽️ Build the .NET 8/9 Time Tracker - Finishing Up
8m 27s
.NET 9 Update βž•
📽️ Updating to .NET 9
14m 42s
Holiday Sale

Offer ends Dec 30. Don't miss it!

Own This Course

$599 $299

Billed once.

  • This Course Only
  • 21 Hours On-Demand Videos
  • Free Updates (e.g. .NET 9)
  • Quizzes
  • Exercises
  • Source Code Download
  • English Captions
  • Certificate of Completion
  • Lifetime Access
  • Learn at Your Own Pace

Access All Courses Plan

$99$59 /month

Billed monthly.

  • All Courses ($1,514 value)
  • All Source Code Downloads
  • Access to All Future Courses FREE
  • All YouTube Tutorial Source Codes
  • English Subtitles
  • Certificates of Completion
  • Exclusive Community Access
  • Private Discord Server
  • Virtual Coworking Space
  • Cancel Anytime
Just Try It

30-Day Money-Back Guarantee

I’m sure you’ll find this course incredibly valuable. But if it doesn’t feel like the right fit, no problem! You’re covered by a 30-day money-back guarantee β€” no questions asked.

Missed a Sale? Never Again!

Want to make sure you never miss out on exclusive discounts, new course launches, and important updates from the .NET Web Academy? Enter your email below and stay ahead of the game!

​

    Rest assured, you can unsubscribe at any time if you change your mind.

    Any Questions?

    Do you have some questions about the .NET Web Academy?

    Feel free to send an email to mail@patrickgod.com. I'll do my best to help. 😊