Complete guide to ASP.NET Core MVC (.NET 8) [E-Commerce App]

Complete guide to ASP.NET Core MVC (.NET 8) [E-Commerce App]

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 409 lectures (31h 6m) | 11.07 GB

Build real world e-commerce application using ASP.NET Core MVC, Entity Framework Core and ASP.NET Core Identity.

This is a Beginner to Advanced level course on .NET 8 that will take you from basics all the way to advance mode. This course is for anyone who is new to ASP.NET Core or who is familiar with ASP.NET and wants to take the first stab at understanding what is different in ASP.NET Core. From there we would be building multiple projects to understand all concepts in .NET 8 as we will deploy our final application on Azure as well as IIS.

Throughout this course, we would understand the evolution of ASP.NET Core, and then we would take a look at the modified files and folder structure.

  • We would then take a look at new concepts in ASP.NET Core
  • We would build a small Razor application with CRUD operations using Entity framework for integration with the database.
  • We would build our Bulky Book website where we will learn advanced topics in ASP.NET MVC Core
  • Finally, we will deploy our Bulky Book website on Microsoft Azure and IIS.

What you’ll learn

  • Learn structure of ASP NET MVC Core (.NET 8) Project
  • Learn structure of ASP NET Core (.NET 8) Razor Project
  • Learn basic fundamentals of ASP NET MVC Core (.NET 8)
  • Build 2 Projects throughout the course
  • Integrate Identity Framework and learn how to add more fields to Users
  • Interact with Razor class library for Identity
  • Integrate Entity Framework along with code first migrations
  • Sessions in ASP NET Core (.NET 8)
  • Custom Tag Helpers in ASP NET Core (.NET 8)
  • View Components and Partial Views in ASP NET Core
  • Bootstrap v5
  • Authentication and Authorization in ASP NET Core (.NET 8)
  • Google and Facebook Authentication/Login
  • Role Management in ASP NET Core Identity
  • Email notifications
  • TempData in ASP NET Core (.NET 8)
  • Stripe Payment Integrations
  • Repository Pattern to Access Database
  • Seed Database Migrations Automatically
  • Deploying website on Microsoft Azure
Table of Contents

Welcome & Getting Started
1 Welcome
2 What we will Build
3 Feedback
4 Dot Net Core Roadmap
5 Live Preview Url
6 Project Resources
7 NET Community
8 Prerequisites
9 Tools Needed
10 Download .NET 8 and VS Preview
11 Course Overview
12 Create Project
13 Project File
14 Launch Settings
15 wwwroot and appsettings
16 Program File
17 MVC Architecture
18 Routing Overview
19 Routing in Action
20 Default Views
21 Go Easy on Yourself!

Category CRUD Operations
22 Create Category Model
23 Data Annotations
24 Nuget Packages for Entity Framework Core
25 Connection String
26 Setup ApplicationDbContext
27 Create Database
28 Create Category Table
29 Add Category Controller
30 Add Category Link in Header
31 Seed Category Table
32 Get all Categories
33 Hot Reload
34 Display all Categories
35 Bootswatch Theme and Bootstrap Icons
36 Design Category List Page
37 Create Category UI
38 Input Tag Helpers
39 Create Category
40 Server Side Validations
41 Custom Validations
42 Asp Validation Summary
43 Client Side Validation
44 Edit and Delete Buttons
45 Get Category Details to Edit
46 Update Category
47 Update Category in Action
48 Get and Post Action for Delete Category
49 Delete Category in Action
50 TempData
51 Partial Views
52 Toastr Notification

Razor Project
53 Create Razor Project
54 What’s Different in Razor Project
55 Setup EF Core
56 Create first Razor Page
57 Display all Categories
58 Create Category UI
59 Create Category Post Handler
60 Edit and Delete Category
61 Toastr Notifications and Partial Views

N-Tier Architecture
62 Create More Projects
63 Modify Styling Refresh
64 Modify Styling
65 Modify UI of Category Pages
66 N-Tier Architecture
67 How to Reset Database
68 Bonus – Dependency Injection Service Lifetimes

Repository Pattern
69 IRepository Interface
70 Implement Repository Interface
71 Implement ICategoryRepository
72 Implement Category Repository
73 Replace DbContext with Category Repository
74 How Easy is it to move to a Different Database
75 Renaming Project and Solving Issues
76 UnitOfWork Implementation
77 UnitOfWork in Action
78 Areas in .NET
79 Dropdown in NavBar

Product CRUD
80 Create Product Model
81 Seed Product and Assignment 1
82 Assignment 1 Solution – Product Repository and UnitOfWork
83 Assignment 2 – Product CRUD Operations
84 Assignment 2 Solution – Product CRUD Operations
85 Add Foreign Key in EF Core
86 Add Image Url Column
87 Projections in EF Core
88 Viewbag in Action
89 ViewData in Action
90 View Models in Action
91 File Upload Input
92 Combine, Create, and Edit Pages
93 Rich Text Editor
94 Create Product
95 Display Image on Update
96 Handle Image on Update
97 Update Product Custom Code
98 Loading Navigation Properties
99 DataTables API
100 Load DataTables
101 Edit Product Link in DataTable
102 Delete Product
103 SweetAlerts

Home and Details Page
104 Home Page
105 Details Action Method
106 Details UI

Identity in .NET Core
107 Scaffold Identity
108 Scaffold Identity Issue (NET8)
109 Understand what Got Added
110 Add Identity Tables
111 Extend Identity User
112 Register a User
113 Register an Application User
114 Create Roles in Database
115 Assign Roles on Registration
116 Authorization in Project
117 Update Login and Register UI
118 Register Other Fields
119 UI Bug

Company CRUD
120 Why do we have a Company Role
121 Assignment 3
122 Assignment 3 Solution – Company CRUD Operations
123 Display Company Dropdown
124 Toggle Company Dropdown
125 Register Company User

Shopping Cart
126 Add Shopping Cart Model
127 Add Shopping Cart to Repository
128 Add ApplicationUser Repository
129 What will be Model for Details Page
130 Add to Cart
131 Fix Issue with Add to Cart
132 A Weird Bug
133 Shopping Cart UI
134 Get Shopping Cart
135 Get Order Total in Shopping Cart
136 Dynamic Shopping Cart
137 Update Quantity in Shopping Cart
138 Order Summary UI

Order Confrimation
139 Create Order Header and Details Model
140 Add Order Header and Detail Repository
141 Make ShoppingCartVM more Dynamic
142 Summary GET Action Method
143 Load Summary UI with Data
144 Order Status
145 Summary POST Action
146 Place Order for Company Accounts
147 Register for Stripe Account
148 Configure Stripe in Project
149 Add Helper Methods in Order Header Repository
150 Stripe in Action
151 Confirm Stripe Payment
152 Order Placed Successfully with Stripe

Order Management
153 OrderVM and Order Controller
154 Order List UI
155 Add Status Filter
156 Make Status Selected Active
157 Demo – Filters in Order List
158 Order Details Get Action
159 Loading Order Details Header
160 Display Order Details
161 Update Order Details
162 Only Admin and Employee Can See all Orders
163 Order Processing Buttons Logic
164 Ship Order
165 Cancel Order
166 Process Delayed Payment

Advance Concepts
167 Authorization
168 Session in .NET Core
169 Remove from Session and Bug
170 Bug Solution and Logout
171 Create View Component
172 View Component in Action
173 Facebook Social Login
174 Facebook Login in Action
175 Creating Admin and Employee Accounts
176 Session Bug

Deployment & Email
177 DBInitializer
178 DBInitializer Implementation
179 DBInitializer in Action
180 SendGrid Email Setup
181 SendGrid in Action
182 Create Azure SQL Server and Database
183 Downgrade to Net 7
184 Azure Production Deployment
185 Azure Deployment in Action
186 Facebook Url
187 Facebook Url Error

User Management
188 Display User List
189 Display Company Name
190 Display Roles
191 Lock Unlock Action Method
192 Lock Unlock in Action
193 Assignment 4 – User Role
194 Assignment 4 Solution Part 1 – View Code
195 Assignment 4 Solution Part 2 – Role Logic

Multiple Product Image
196 Next Task
197 Remove ImageUrl from Product
198 Product Image Table
199 Add Product Image Repository
200 Upload Images on Product Upsert
201 Demo – Upload Images
202 Display Image on Update Product Page
203 Delete Image
204 Delete Product
205 Display Image in Shopping Cart
206 Bootstrap Carousel
207 Assignment 5 – User Controller
208 Assignment 5 Solution – User Controller
209 Microsoft Social Login
210 Upgrade .NET Version
211 Deploy Application to Azure using Visual Studio

OLD COURSE (Will be removed in Aug 2023) – Introduction
212 Welcome
213 Live Preview and Course Update .NET 7
214 Live Preview
215 Localization and Globalization in MVC
216 Tools Needed
217 Project Resources
218 Introduction to .NET Core
219 Dependency Injection
220 Create Project
221 Hot Reload
222 Project File
223 Launchsettings, wwwroot and appsettings
224 Program class file
225 MVC Arhcitecture
226 Routing Overview
227 Routing in Action
228 Default Views
229 Tag Helper
230 Action Result

OLD COURSE (Will be removed in Aug 2023) MVC Basics – CRUD Operation
231 Create Category Model
232 Add Data Annotations
233 Add Connection String
234 Connection String Update
235 Add ApplicationDbContext
236 Setup Program.cs to use DbContext
237 Create Database
238 Create Category Controller
239 Retrieve all Categories
240 Display all Categories
241 Bootswatch Theme
242 Bootstrap Icons
243 Create Category View
244 Demo – Create Category
245 Server side Validations
246 Custom Validation
247 Add Client Side Validation
248 Display Name and Range Validation
249 Edit Category – GET
250 Edit Category – POST
251 Delete Category
252 Tempdata
253 Partial views
254 Toastr Alerts
255 Scaffold CRUD

OLD COURSE (Will be removed in Aug 2023) Razor Pages – CRUD Operation
256 Introduction
257 Create Project
258 Whats different
259 Razor Pages Introduction
260 Pages in Razor Project
261 Routing Overview
262 Create Category Model
263 Data Annotations
264 Connection String
265 ApplicationDbContext
266 Program.cs Database Settings
267 Create Database
268 Categoeis Get Action Method
269 Display all categories
270 Add Create Category Button
271 Create Category UI
272 Create Property in Page Model
273 Create Category and Bind Property
274 Bootswatch
275 Server Side Validations
276 Custom Validations
277 Display Name and Range Annotation
278 Client Side Validations
279 Links for Edit and Delete
280 Edit Category
281 Back to List
282 Delete Category
283 TempData
284 Toastr
285 Partial Views
286 Scaffold CRUD Pages
287 Back to Main Project

OLD COURSE (Will be removed in Aug 2023) N-Tier Architecture
288 Creating more Projects
289 N Tier Architecture
290 HelpTip 1 – How to handle corrupted migrations
291 Bootswatch Theme

OLD COURSE (Will be removed in Aug 2023) Repository Pattern
292 Introduction to Repository
293 Repository Overview
294 Repository Pattern Detailed Flow
295 Repository Pattern Architecture
296 IRepository Interface
297 Implement IRepository
298 Category Repository Interface
299 Implement Category Repository
300 Replace DbContext with Category Repository
301 Implementing Unit of Work
302 UnitOfWork in Action
303 Assignment 1 – Cover Type Repository
304 Assignment 1 Solution – Cover Type Repository
305 Areas in .NET Core
306 Areas in Action
307 Assignment 2 – Cover Type Controller and Views
308 Assignment 2 Solution – Cover Type Controller and Views
309 Dropdown in Navigation

OLD COURSE (Will be removed in Aug 2023) Product Management
310 Create Product Model
311 Create Product Table
312 Product Repository
313 Create Product Controller
314 Product Get Action UI
315 Projections using Select
316 View Bag in .NET Core
317 ViewData in .NET Core
318 View Models
319 Add File Upload
320 Sweetalerts
321 Create First Product
322 Add API EndPoint for DataTable
323 Loading Datatables
324 Include Properties
325 Render Html in datatables
326 Load Product on Upsert Get
327 Update Product
328 Update Book Images
329 Delete API Endpoint
330 Delete Product
331 Tinymce Editor

OLD COURSE (Will be removed in Aug 2023) Home Page
332 Home Page
333 Lux theme
334 Details Action Method
335 Details UI

OLD COURSE (Will be removed in Aug 2023) Identity Management
336 Scaffold Identity Error
337 Scaffold Identity
338 Scaffold Identity Workaround
339 What got Added with Identity
340 Add Identity Tables
341 Identity Bugs with Scaffolded Pages
342 Register and Login in Action
343 Add More fileds to Identity Table
344 Assignment 3 – Company CRUD
345 Assignment 3 – Solution Company CRUD
346 Add Roles to Application
347 Create Roles for Website
348 Add more fields on Register UI
349 Display all Roles in Dropdown
350 Register User with Roles
351 Company Dropdown
352 Toggle Company Dropdown
353 Register Company User

OLD COURSE (Will be removed in Aug 2023) Shopping Cart
354 Add Shopping Cart Table to Database
355 Add Shopping Cart and Application User Repository
356 Add Items to Shopping Cart
357 Add items to existing cart
358 Configure Application Cookie
359 Shopping Cart UI
360 Load Shopping Cart List in Get Action
361 Price calculation based on quantity
362 Cart Total
363 Updating Quantity in Shopping Cart
364 Cart Summary UI

OLD COURSE (Will be removed in Aug 2023) Order Creation
365 Create Order Header and Details Model
366 Add Order Header and Detail to UnitOfWork
367 Summary GET Action Method
368 Load Summary UI with data
369 Summary POST Action Method
370 Create Order
371 Create Stripe Account
372 Stripe Secrets Configuration
373 Call Stripe from Summary Page
374 Save Stripe Session ID and Payment Intent ID
375 Order Confirmation
376 Payments in Action

OLD COURSE (Will be removed in Aug 2023) Order Management
377 Flow for company user
378 Place Order for Company User
379 OrderVM and Retrieve all Orders
380 Display all Orders
381 Add Status Filter on Order List
382 Toggle UI For Status based on Selection
383 Demo – Filters in Order List
384 Role based order display
385 Order Details Get Action
386 Loading Order Details Header
387 Display Order Details
388 Order Processing Buttons Logic
389 Update Order Details and EF Core Tracking
390 Ship Order
391 Cancel Order
392 Cancel Order Issue – PaymentIntentId Null
393 Delayed Payment

OLD COURSE (Will be removed in Aug 2023) MVC Advance Concepts
394 Authorization
395 Email Sender using MimeKit and MailKit
396 Test Email Sender
397 SendGrid
398 Session in Action
399 Remove From Session
400 View Component Code
401 View Component in Action
402 FaceBook Login
403 Demo – Facebook Login
404 Hide Roles from Registration
405 Session Bug

OLD COURSE (Will be removed in Aug 2023) Seed Database and Azure Deployment
406 DbInitializer Interface
407 Implement DbInitializer
408 Azure Database
409 Azure Deployment

Homepage