If you're curious about why ASP.NET Core is widely adopted and want to learn how to build and enhance a fully functional business website, this course is the ideal starting point. It offers a practical introduction to the ASP.NET Core 5 Model-View-Controller (MVC) framework.
You’ll begin with the basics of ASP.NET Core 5 and quickly move into hands-on development by building a real-world website that showcases products and handles customer inquiries. Through this project, you’ll gain a solid understanding of key ASP.NET Core concepts, including database integration, identity scaffolding, and email communication using MailJet.
In addition, the course will guide you through scaling existing projects, architecting mid-to-large-scale applications, and implementing secure payment processing.
By the end of the course, you'll have the practical knowledge and skills needed to develop and scale robust business websites using the ASP.NET Core 5 MVC framework.
Who should take this Course?
The ASP.NET Core MVC Online Course is ideal for web developers, software engineers, and IT professionals who want to build dynamic, data-driven web applications using Microsoft’s ASP.NET Core MVC framework. It’s also suitable for students and backend developers looking to enhance their skills in modern web development with C# and .NET. Prior knowledge of C#, HTML, and basic web development concepts is recommended for a successful learning experience.
Course Curriculum
Part 1 - Introduction
Welcome
What We Will Build? – Part 1
What We Will Build in This Course? – Part 2
Tools Needed
Project Resources
ASP.NET Core
Creating a Project
Project File
Program.cs File
Dependency Injection
Startup Class – Part 1
Startup Class – Part 2
Routing in Model View Controller (MVC)
AppSettings
wwwRoot and launch launchSettings
Model View Controller (MVC) Applications
Performing Routing
Views in the Default Project
Part 1 - Setting up a Database and Category Management
Creating Your First Model
Adding a Connection String
Setting up DbContext
Configuring a Complete DbContext
Pushing a Category to a Database
Checking a Database
Adding a Category Controller – Part 1
Adding a Category Controller – Part 2
Getting All Categories
Displaying All Categories
Adding a Category – Part 1
Adding a Category – Part 2
Adding a Category – Part 3
Assignment
Assignment Solution
Client-side Validations and Category Update/Delete
Validations in ASP.NET Core
Client-side and Server-side Validations
Passing Parameters on Redirect
Edit and Delete Option
Updating a Category
Deleting a Category
Adding Font Awesome
Assignment
Assignment Solution
Product Management
Adding a Product Model
Pushing a Product to the Database
Adding the List and View Options
Product Upsert
Product Upsert User Interface – Part 1
Product Upsert User Interface – Part 2
ViewBag and ViewData
What is ViewModel?
Demonstration of ViewModel
Introduction to SweetAlert
Introduction to Summernote
Creating a Product
Displaying the Image Edit Option
Product Upsert User Interface – Part 3
ModelState Not Valid
Deleting a Product
Assignment
Assignment Solution
Eager Loading
Modifying the Product Model
Part 1 - Customer Facing Website Management
Navbar updates
Creating ViewModel for the Home Page
Working on the Home Index View
Partial View
Demonstration of the Home Page
Details Virtual Machine (VM) and Action
Displaying Product Details
Configuring Sessions
User Session GET method
Adding Cards to Your Session
"Remove From Cart" Button Logic
Adding the RemoveFromCart Logic
Part 1 - Scaffold Identity
Scaffold Identity Tables
Scaffold Identity Pages
Modifying Scaffolded Identity Tables
Adding a Name and Phone Number to Registration page
Configuring RoleManager
Registering the First User
Creating New Admin Users
Changes in the User Interface (UI) for Admin
Part 1 - Shopping Cart and Inquiry Email
Creating a Cart Controller
Shopping Cart User Interface (UI)
Deleting Cart Items
Adding the Basic Authorization Levels
Adding the Summary Functionality
Designing the Summary Page User Interface (UI)
Summary Solution
Signing up for MailJet
Adding MailJet to the Website
Sending an Email
Introduction to ProtonMail
Accessing the AppSettings Configuration
Using an Inquiry Template for Confirmation
forEach() versus For
Getting Data from the Email Template
Demonstration of the Email Template
Adding Authorization
Resolving the Register Admin User Bug
Part 2 - Introduction
Welcome
What We Will Build?
Topics Covered
What We Built in Part 1?
New Requirements
Approaching Change in Requirements
Getting Project Resources
Project Overview of Part 1
Part 2 – Code Separation
Introduction
Working with Utility – Part 1
Working with Utility – Part 2
Separating Models
Separating Data Layers – Part 1
Separating Data Layers – Part 2
Testing the New Migration
Packages
Bootstrap 5: Changes – Part 1
Bootstrap 5: Changes – Part 2
Cleaning up the Code
Part 2 - Repository Pattern
Repository Interface – Part 1
Repository Interface – Part 2
Repository Interface – Part 3
Category Repository
Implementing the Category Repository
Solution - Application Type Repository
Product Repository
Product Repository Continued
Common Error Properties
Part 2 - Inquiry Details (Admin)
Implementing an Inquiry Header Model
Inquiry Details Model
Pushing Inquiry Header and Detail to the Database
Inquiry Repository
Modifying the Repository Pattern – Part 1
Modifying the Repository Pattern – Part 2
Submit Inquiry
Inquiry Controller and ViewModel
Part 2 - Inquiry Management
Adding Inquiry Index View
Inquiry.js
Demonstration of DataTables
Getting Inquiry Details
Viewing Inquiry Details
Converting Products to Carts
Deleting Inquiry
Implementing Toastr Notifications
Adding TempData and Toastr to the Website
Adding Alerts to the Application
Part 2 - Shopping Cart
Change in Requirements
Adding SqFt to the Model
Adding SqFt to the Session
Modifying the Shopping Cart
Updating the Shopping Cart User Interface (UI)
Updating the Cart User Interface (UI)
Implementing the Update Cart Method
Update Cart Functionality
Update Cart on Clicking the Continue Button
Scenarios for User Details
User Details Based on the Role of User
Summary Page SqFt Calculation
Adding More Fields to the Order Summary Page
Adding Validations
Part 2 - Order and Payments
Adding an Order Header and Order Details Model
Working on the Order Repository
Creating an Order
Creating a New Order
Working on Order Confirmation
Registering for Braintree
Setting up Braintree – Part 1
Setting up Braintree– Part 2
Setting up Braintree Transaction Client – Part 1
Braintree Payment Flow
Setting up Braintree Transaction Client – Part 2
Overview of Braintree Transaction
Setting up the Braintree Server
Getting Braintree in Action
Clearing the Cart
Part 2 – Social Login
Single Sign-On (SSO) Package and Version Update
Registering with Facebook – Part 1
External Login Changes
Registering with Facebook – Part 2
Social Login Association Samples
Redesigning the User Interface (UI)
Implementing Changes in the Login User Interface (UI)
Resolving the Login Bug
Designing the Register User Interface – Part 1
Designing the Register User Interface (UI) – Part 2