MASTERCLASS · 21 HOURS

.NET Web API & Blazor WebAssembly.
Build full-stack apps the way
professionals actually build them.

A complete masterclass in full-stack .NET. Build a real-world Time Tracker from scratch with EF Core, ASP.NET Core Identity, JWT authentication, Tailwind CSS, and Azure deployment.

.NET Web API & Blazor WebAssembly Masterclass

Trusted by .NET developers at Microsoft, Lockheed Martin, Halliburton, Dubai Airports, DATAGENICS, and 300+ other companies in 100+ countries.

WHY THIS MASTERCLASS

From your first endpoint to a deployed full-stack app.

🧭

Who it's for

  • You know some C# but want to build real backends.
  • You want a full-stack project end to end, not isolated tutorials.
  • You want auth, data, and deployment in one course.
πŸ› οΈ

What you'll build

  • A complete Time Tracker with API + Blazor WebAssembly client.
  • EF Core, Identity, JWT, and Tailwind CSS.
  • Deployed to Azure with GitHub Actions.
🎯

What you'll be able to do

  • Build REST APIs with the repository pattern and DI.
  • Add secure auth with Identity and JWT.
  • Ship full-stack apps to Azure with confidence.

A production-ready app you can put on your resume.

WHAT YOU GET

Everything you need to ship full-stack .NET apps.

πŸ“Ί

21 hours of on-demand video

Step-by-step lessons you can take at your own pace, with lifetime access so you can come back to any lesson anytime.

πŸ’»

Full source code on GitHub

Clone the finished project, plus the project at every stage. Use it as a reference for your own work.

πŸŽ“

Quizzes & certificate

Quizzes after every module to make sure the concepts actually stick. Plus a certificate of completion when you're done.

CURRICULUM

What's inside the masterclass.

15 sections, 150+ lessons. Many are free to preview. Click any of the highlighted lessons below.

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
CHOOSE YOUR PATH

Buy this course
or get every course in the academy.

One-time purchase or All Access Pass. Your call. Both unlock this masterclass in full.

ONE-TIME PURCHASE

Just this course

$599

Billed once.

  • 21+ Hours On-Demand Video
  • Step-by-Step Full-Stack Project
  • Quizzes & Exercises
  • Full Source Code Download
  • English Captions
  • Certificate of Completion
  • Lifetime Access
Buy Course

Monthly All Access Pass

Everything I build, monthly

$49 /month

Billed monthly.

Access All Courses

Every course and future releases FREE

Twice Monthly Live Sessions

Join live or watch the replay

Source Code on GitHub
Private Discord Server
Certificates of Completion
Cancel Anytime
Join the All Access Pass
BEST VALUE

Yearly All Access Pass

Best value, 2 months free

$490 /year

Save $98 • Get 2 months free

Access All Courses

Every course and future releases FREE

Twice Monthly Live Sessions

Join live or watch the replay

Source Code on GitHub
Private Discord Server
Certificates of Completion
Cancel Anytime
Join & Save
RISK-FREE

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.

30-Day Money-Back Guarantee
FROM THE BLAZOR TEAM AT MICROSOFT

Built for developers who take Blazor seriously.

The .NET Web Academy covers lots of cutting edge technology that will help you be a productive web developer.
Mackinnon Buck

Mackinnon Buck

Senior Software Engineer at Microsoft

on the Blazor Team

Patrick God, founder of .NET Web Academy
YOUR INSTRUCTOR

Patrick God

.NET Developer · YouTuber · Founder of .NET Web Academy

I've been building production .NET applications for over 15 years. My YouTube channel has helped 80,000+ developers level up their .NET skills.

This is the masterclass I wish I'd had when I started full-stack .NET. Most tutorials show you isolated pieces. A controller here, a Blazor component there, an EF Core migration in a different blog post. This course is the opposite. We build one real application end to end, with auth, real data, and a deployment pipeline. Nothing skipped.

The course you'll keep coming back to as you build your own apps.

Questions before enrolling?
patrick@dotnetwebacademy.com

REAL STUDENTS

Real results from the academy.

Hear it directly from members who've shipped real .NET and Blazor apps.

Augustus De Vree

“I love this course! Learning so much from this course, Patrick explains everything so well, even with a bit of humour and irony!”

Web Application Designer & Information Architect.

Zak Karachiwala

“I have had a great time as one of the first members of the academy. The lessons were very well presented and the slide material was very easy to read and follow. I have learned heaps and highly recommend it.”

Domain Architect at John Holland.

Per Sehlin

Press play to hear what Per has to say about working through the academy in his own words.

More from the community

β˜…β˜…β˜…β˜…β˜…
“Patrick is an incredibly gifted programmer and educator. He writes code effortlessly and does a beautiful job of explaining concepts and how everything interacts. Patrick is among the best instructors I've ever worked with, and I give him my highest recommendation.”
β˜…β˜…β˜…β˜…β˜…
“I have really appreciated the in-depth explanations and examples within the .NET Web Academy tutorials to help me understand and learn Blazor.”
β˜…β˜…β˜…β˜…β˜…
“It is always a pleasure to work with Patrick. He's an outstanding problem solver with strong analytical skills, and a professional engineer with a strong skill set in both frontend and backend development.”
β˜…β˜…β˜…β˜…β˜…
“I was looking for a course that used the latest technology and covered the entire process of building a Blazor Wasm application from the ground up. Patrick's Blazor course was the perfect choice. The pacing is brisk and packed with useful information.”
FAQ

Frequently asked questions

Do I need prior .NET experience?

You should be comfortable with C# basics. No prior Web API or Blazor experience required. We start with a fresh project and build up step by step. If C# itself is brand new, work through a C# fundamentals course first.

What .NET version is the course on?

The masterclass covers .NET 7, 8, and 9 with the newest lessons recorded on .NET 9 and Visual Studio 2026. The earlier sections still apply 1:1 to current versions. Lifetime updates are included.

Is this just theory or do we actually build something?

We build a complete Time Tracker application from scratch. REST API, EF Core with migrations, ASP.NET Core Identity with JWT auth, Blazor WebAssembly client, Tailwind CSS UI, and deployed to Azure with GitHub Actions. Real code, every step.

How long do I have access?

Forever. Once you enroll, you have lifetime access to every lesson, every update, and every future re-recording. No expiration.

Are subtitles available?

Yes. English subtitles on every lesson. If you need another language, drop me an email.

Can I get an invoice for my company?

Yes. After your purchase an invoice is sent to your registered email automatically. Make sure to enter your company details (Tax ID, billing address) correctly at checkout.

What's the refund policy?

30-day money-back guarantee. If the course isn't a fit, email me within 30 days of purchase and you get a full refund. No questions asked.

Should I buy this course or the All Access Pass?

If you only want this one course, buy it standalone. If you want this plus every other masterclass and the live sessions, the monthly All Access Pass pays for itself with just one course. The yearly plan gets you 2 months free and is the best value if you're planning to dig deep.

START BUILDING

Get the masterclass.
21 hours · Lifetime access.

Or get this masterclass plus every other course in the academy with the All Access Pass.

Enroll now
Enroll now