• Post category:StudyBullet-3
  • Reading time:14 mins read


Learn to build a RESTful API and consume it in a Blazor (WebAssembly and Server) Client Application

What you will learn

Build Complete Data Driven ASP .NET Core API From Scratch

Build client side apps using Blazor Server and Blazor WebAssembly

Upgrade Blazor and API Projects to .NET 5

How to Build RESTful APIs with proper practices

Learn C# and Visual Studio Techniques

Repository Pattern and Dependency Injection

Use AutoMapper and Data Transfer Objects (DTOs)

Interact with Database using Entity Framework Core

Use NuGet Package Manager

Manage and Track Changes using GitHub

Asynchronous Programming

Custom Logging using NLOG

Use Swagger UI Documentation

Deploy Web API to Microsoft Azure

Deploy Blazor Applications to Microsoft Azure

Description

Overview

Learn how to build a RESTful API using ASP.NET Core API, Entity Framework, the Repository Pattern and various other tools and services for testing and logging; and later consuming it in a modern Blazor App. This complete course will show you how to use Visual Studio, Microsoft SQL Server Express and explore developing, consuming, testing and hosting  a REST API in a .NET application.

By the end of the course, we would have built a single page application using Blazor (Server and WebAssembly). We will look at parsing and storing Json Web Token (JWT) information and using it across our application for user authentication and authorization. We will also look at how we communicate with API’s in our application.

ASP.NET Core is Microsoft’s modern, cross-platform framework for building enterprise ready web applications. In this course,  you will learn everything you need to know about building a RESTful API using ASP.NET Core, from understanding the folder structure and files, to building a complete web API.

Upgrade Blazor and API Projects to .NET 5 *NEW*

.NET 5 is the latest in Microsoft’s SDK technologies and while we develop this solution using ASP.NET Core 3.1, we do an upgrade to .NET 5 with very minimal effort. EVERYTHING still works!

Why Learn ASP.NET Core (.NET 5)

Microsoft .NET is the platform that drives the business technology of many of the top corporations in the United States and many other countries. It is the predominant technology used to drive enterprise-scale business technology. Companies have chosen .NET because for its proven scalability, reliability, and support.

The .NET language of choice to learn is C#, as it is among the most widely used languages today. It’s a general purpose programming language that can handle almost any problem, from desktop to mobile to dynamic web applications. As such, there is a high demand across the world for .NET developers in a variety of industries, so that means that more jobs are available for candidates with a foundation built upon .NET technologies.

PREREQUISITES

In order to take this course, you should have at least 3 months 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

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 are composed of reusable web UI components implemented using C#, HTML, and CSS. Both client and server code is written in C#, allowing you to share code and libraries.

Blazor WebAssembly or Blazor Server

Blazor can run your client-side C# code directly in the browser, using WebAssembly. Because it’s real .NET running on WebAssembly, you can re-use code and libraries from server-side parts of your application.

Alternatively, Blazor can run your client logic on the server. Client UI events are sent back to the server using SignalR – a real-time messaging framework. Once execution completes, the required UI changes are sent to the client and merged into the DOM


Get Instant Notification of New Courses on our Telegram channel.


We will be exploring 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 the use of Azure SQL for Database to support our API.

Azure Static Web Apps is a service that allows you to deploy both JavaScript apps but now also Blazor apps. The service is simple to use as it only requires an Azure subscription and a GitHub repo. That’s all we need.

Build A Strong Foundation in .NET Core Programming:

  • Build a fully data driven REST Web API using cutting edge technology
  • Build a Single Page Application client side UI using Blazor Server AND Blazor WebAssembly
  • Connect to an existing Database using Entity Framework Core
  • Repository Pattern and Dependency Injection
  • Progressive Web Application with Blazor
  • Setup Logging using NLog
  • Setup API documentation using SwaggerUI
  • Understand the REST design principles
  • Understand C# and .Net Core Web Syntax
  • Understand user Authentication using JWT (JSON Web Tokens)
  • Store JSON Web Tokens using Local Browser Storage
  • Handle Blazor Application User Authentication State
  • Consume REST Web API in Blazor Application
  • Understand how to use Models, DTOs and AutoMapper
  • Manage Packages with NuGet Manager
  • Setup GitHub for Source Control
  • Migrate To .NET 5 in a few easy steps
  • Deploy Applications and Database to Microsoft Azure

PREREQUISITES

In order to take this course, you should have at least 3 months 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

Content and Overview

To take this course, you will need to have some knowledge of Object Oriented Programming, if not C#. Even if you do not have much exposure to the .NET development stack, this course is very beginner friendly and chock full of development tips.

This is a huge course. Over 16 hours of premium content, but smartly broken up to highlight a set of related activities based on each module in the application that is 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 not 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 new learned skills into practical use and impress your boss and coworkers.

The course is complete with working files hosted on GitHub, with the inclusion of some files to make it easier for you to replicate the code being demonstrated. 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!

English
language

Content

Introduction
Introduction
Environment Configuration and Account Setup
Install Visual Studio 2019 Community Edition
Install SQL Server Express Edition
Create a GitHub Account
Install and Explore PostMan
Project Setup and Configurations
Create .Net Core Web API Project
Tour of Project Structure and Files
Configuring and Using Swagger UI
Configure Logging using NLog
CORS Configuration
Review and Add Changes to GitHub
Implement Database and Repository Pattern
Create Database in SQL Server
Implement Data Classes and Entity Framework
Setup AutoMapper and DTOs
Review and Add Changes to GitHub
Setup Author API
Setup Repository and Service
Scoped vs Singleton vs Transient
Setup API Controller
Setup GET Endpoints
Setup CREATE Endpoint
Setup UPDATE Endpoint
PUT vs PATCH
Setup DELETE Endpoint
Review and Add Changes to GitHub
Setup Book API
Setup Repository and Service
Setup API Controller
Setup GET Endpoints
Setup CREATE Endpoint
Setup UPDATE Endpoint
Book Update DTO
Setup DELETE Endpoint
Review and Add Changes to GitHub
Configure Authentication and Identity
Scaffold Identity Tables to Existing Database
Seed Test Users and Roles
Setup Users Controller
What is JWT-based Authentication?
Setup JSON Web Tokens (JWT) Authentication
Setup Controller and Action Authorizations
Review and Add Changes to GitHub
Create Book Store UI Project
Create and Understand Blazor Project Structure
What Is Blazor
Setup HTTP Client And Service Repositories
Setup User Registration API Endpoint
Setup User Registration Form
Setup User Login – Extend Blazor Authentication Provider
Setup User Login – Form and Logic
Review and Add Changes to GitHub
Author Management Blazor UI
Setup Author Repository and Service
Setup List Authors
Setup View Author
Setup Update Author
Setup Delete Author
Setup Create Author
Essential Layout Fixes and Additions
Fix Author-Book JSON Response
Review and Add Changes to GitHub
Book Management Blazor UI
Setup Book Repository and Service
Setup List Books
Setup View Book
Setup Create Book – Part 1
Setup Create Book – Part 2
Setup Update Book
Setup Delete Book
Essential Layout Fixes and Additions
Review and Add Changes to GitHub