Complete Guide to Blazor with e-Commerce App & Clean Architecture
Learn ASP.NET Blazor In Depth & Build an e-Commerce Web Application with Clean Architecture.
ASP.NET Core Blazor (.NET 5 Blazor) is Microsoft latest SPA application framework. With Blazor you can build reactive full stack single page web applications with C# without much help from JavaScript. Blazor relies on existing mature technologies like SingalR, WebAssembly and ASP.NET Core. It is being adopted or has already been adopted by most companies that utilizes Microsoft technologies. If you want to get employed in these companies, knowing how to build applications with Blazor is required or will be required very soon along with Razor pages, MVC and Web API.
PLEASE NOTE: This course is for learning Blazor and Clean Architecture while building an e-commerce app. The e-commerce app we are building is not full featured and DOES NOT include things like payment, shipping, it does include product listing, placing orders and processing orders as admins.
In this course with 9 sections, more than 70 lectures and about 8 hours of content, you will not only follow me step by step and master Blazor, but you will also work with me implementing a good sized e-Commerce web application following Clean Architecture, starting from requirements analysis, software design, all the way to the final implementation.
The course covers the following technical topics:
ASP.NET Core Platform
Every aspect of ASP.NET Blazor
Components State Management
Dependency Injection
Authentication and Authorization with ASP.NET Core Identity
Custom Cookie Authentication
AutoMapper
Dapper
SQL Statements
HTML
Bootstrap
Requirements Analysis and Software Design
Clean Architecture
Repository for encapsulating data accessing details
By the end of the course, you will:
Know every aspect of Blazor in depth.
Be able to independently build web applications with Blazor.
Be able to analyze requirements and design software.
Understand and be able to Implement Clean Architecture.
And much more...
You will be building a good sized real world secured e-Commerce application with me. Together, we will build both the customer portal that allows customers to browse products catalog, add products to shopping cart, place orders and admin portals that allows store owners to login and manage the orders.
After following the lessons and exercises in this course, you will have a good understanding of ASP.NET Core platform and you will be able to create single page web applications with Blazor Server. You will also have a good understanding of Clean Architecture and be able to use what you have learned about architecture in your own project. At the end of the course, you will become a full stack web developer knowing how to create web applications with Microsoft’s latest application framework: ASP.NET CORE 5 Blazor.
Whether you're new to ASP.NET Core Blazor or have worked with it for a bit, but are looking for a course to fill in the gaps, you will enjoy this course. Since this course not only cover the basics, but goes into each topic in depth.
PREREQUISITES
Intermediate C# (you should have at least 3 - 6 months experience programming in C#)
Basic HTML
Previous knowledge of ASP.NET Core is nice to have, but it is not required since I will cover it in the course.
The Course Structure and Details
In the first two sections, we will learn about Blazor by creating part of the e-Commerce web application without hearing me talking too much about each topic of Blazor. The purpose of this is to fast track your learning experience and provide you with a solid foundation of coding web applications with Blazor.
In the third section, I will go through all the topics about Blazor one by one in depth.
Starting from the fifth section, we will together implement both the customer portal and the admin portal of our e-Commerce with authentication and authorization.
When implementing the solution, you will hear me cover Clean Architecture and you will see how I implement a Use Case Driven and Plugin Based clean architecture that is highly testable and extremely flexible for future extensions. I will show you how I do it and explain why I do it in certain ways. If you really follow these hands-on sections and implement the project with me, you will definitely learn a lot from the process of building this real world application.
In this course, both the shopping cart and Data store (database) will be implemented as plugins. We will implement two types of data store plugins: an in-memory data store and a SQL Server data store with Dapper as the micro ORM. You will see clearly how powerful it is to build solutions with this kind of architecture. (Disclaimer: Architectural choices should be made case by case, I don’t suggest you to follow my architecture presented in this course in all projects. Analysis is needed all the time.)
Who this course is for
C# developers who want to become full stack developers without the hassle of mastering JavaScript.
Developers who work with Razor pages and/or MVC along with front end frameworks/libraries and would prefer work with less JavaScript.
Developers with some experience in Blazor who is looking for a comprehensive course to fill in the gaps.
Developers who are curious about Mirosoft's newest SPA application framework: Blazor.
Developers who want to learn about implementing Clean Architecture.
1. Blazor Introduction
1.1 ASP.NET Core Platform
1.2 How a Blazor app is Bootstrapped
1.3 Understanding project structure
1.4 Adding Dynamic Content
1.5 View, State and Events - Three main aspects of components
1.6 - Summary of Section 1
Source Code for entire Application
2.1 Introduction
2.2 Screen Mockup and Components Breakdown
2.3 Analysis and Design
2.4 Implementing Core Business Layer
2.5 Implementing Use Cases Layer
2.6 Data Store Plugin Interface
2.7 Implement In-Memory Data Store Plugin
2.8 Create Search Products Component
2.9 Implement the Search Products Screen
2.10 Implement the Search Bar Component
2.11 Implement Product Item Component
2.12 Implement Filtering
2.13 Styling with BootStrap
2.14 View Product Details Component
2.15 Summary of Section 2
3.1 DataBinding #1
3.2 DataBinding #2
3.3 Overview of Communication Between Components
3.4 Review Parameters, Route Parameters and EventCallback
3.5 Cascading Parameters
3.6 Referencing Child Componnent
3.7 RenderFragment
3.8 When does a component render
3.9 Component Lifecycle Events
3.10. Forms and Validations
3.11 State Management with Observer Pattern
4.1 Dependency Problems
4.2. Dependency Inversion Principle
4.3. Inversion of Control
4.4. Dependency Injection in Razor Components
4.5. Lifetime Management in Blazor Server
4.6. How to Choose the Lifetime Management
4.7. Lifetime Management in Blazor WebAssembly
5.1 Reorganize Projects to Reflect the Architecture
Source Code for Reorganization
5.2 Order Entity and Business Rules
5.3 Shopping Cart Abstraction
5.4 Add Product to Shopping Cart Use Case
5.5 Implement Shopping Cart Plugin
5.6 Test Add Product to Cart Use Case
5.7 Improve Web UI
5.8 View Shopping Cart Use Case
5.9 View Shopping Cart Component
5.10 Order Line Item Component
5.11 Order Summary Component
5.12 Shopping Cart State Management
5.13 Shopping Cart Items Count Component
5.14 Delete Product and Update Quantity Use Cases
5.15 Delete and Update on Order Line Item Component
5.16 Order Repository
5.17 Place Order Use Case
5.18 Place Order Component
5.19 Order Confirmation Use Case and Screen
6.1 Admin Use Cases
6.2 Admin Portal Screens
Buy this course and own it for a lifetime.
Regular price