ASP.NET Core - Build Hands-On Web Projects
- Description
- Curriculum
- FAQ
- Reviews
Hi there, I am Kaushik Roy Chowdhury. I am a Microsoft Certified Professional and hold a Master’s Degree in Computer Science from Auckland University of Technology (AUT), New Zealand.
I have worked in the software development industry in New Zealand with some eminent companies on various permanent and contract assignments.
These are some of latest reviews for this course:
“Excellent course with explaining each and every thing very clearly. I recommend this to have this course. Also kaushik it would be great if we may have some courses with JWT and UI in React,or if it is already there then requesting you to share the course link.” – Ankita
“An Excellent Course” – Mohamed Cisse
“Loving his class.” – Anna Mann
“I’m Alfred and I must say I really love this course and it a blessing to me because this is what I’ve always wanted . thank you Udemy” – Alfred Kporhor
Are you are a passionate software developer or an eager student of software with a passion for learning new cutting edge technology products, desiring to find your way through this ever-evolving and new web framework? This course will allow you to use ASP.NET Core 3.1 professionally for creating web applications using all the three project templates: Razor pages, Web API, and MVC.
At the time of originally creating this course, ASP.NET Core 3.1 was the current and latest stable framework version, forming the foundation of this course. Since then, Microsoft has released ASP.NET 6.0, the Long Term Support version, at the .NET conference in early November 2021. To keep in line with these releases, I have updated the content to reflect the latest advancements in the framework.
This course includes a comprehensive guide on how to migrate major projects from ASP.NET Core 3.1 to ASP.NET 6.0. Specifically, you’ll learn how to migrate the major project—creating a Web API and consuming it with an MVC Client. The migration process, as demonstrated in the course, is straightforward and requires minimal effort.
Currently, the latest LTS version is ASP.NET 8, and I have updated the course content to include a new section, Section 12, which covers building a Razor Pages Web Application in ASP.NET 8. This section includes features such as filtering, sorting, and pagination. My goal is to keep the course content updated from its initial publication, ensuring it remains relevant and valuable as new versions are released.
This course begins with the objective to walk through the learner with the building of a few important ASP.NET Core concepts through coding example projects in Visual Studio 2019.
The course then leads them to build a Razor app to-do list with an in-memory collection. The same application is then built with MVC concepts to perform a comparative study between the two technologies.
Thereafter, the highlight of this course appears with a real-life project spanning over two sections and multiple lectures. The first section shows the building of a web API with sequential stages and hands-on coding and explanation. The Web API uses ADO dotNET technology and SQL Server database with Stored Procedures. Entity framework has not been used because of two main reasons: There are plenty of courses and articles showing the use of Entity Framework Core (EF Core) in the market place. Secondly, ADO technology is what EF Core is built upon and proven to be at least as good performance-wise. Lastly, I have now introduced a section that shows how to use EF Core to build a Web API using ASP.NET 6.0. So the learners have a chance to learn both the popular technologies for applications that are database-driven.
The Web API has Serilog NuGet package integrated for structured error logging in text files. This project follows a repository pattern which is a best practice in Web development.
The second section (part) shows the consumption of the Web API by an ASP.NET Core 3.1 MVC application for CRUD operations (as the front end). This application saves and retrieves to/from the database used by the Web API thereby extending the idea for learners to consume public API’s through an in-house MVC client.
I have now added a section at the end on Creating a Web API with ASP.NET 6.0 using EF Core – Code First Approach.
The entire course has got a number of assignments, quizzes, and a practice test spread over the sections to self-assess learning.
Downloadable code samples and links to free external resources have been provided wherever felt necessary.
-
1Encouraging Constructive Feedback: A Message to Our Udemy StudentsVideo lesson
This lecture emphasizes how unexplained low ratings can deter new students from enrolling in our courses in a highly competitive market, highlighting the importance of constructive feedback for both instructors and learners.
-
2Course Title Change and Migration to ASP.NET 6.0Video lesson
This is an introductory talking head lecture by your instructor for this course. He explains the renaming of this course and emphasizes on the migration path from earlier ASP.NET Core 3.1 to the latest (current) ASP.NET 6.0
-
3Course Descriptor and ScopeText lesson
-
4Who Am I?Video lesson
This is the lecture on the course instructor background and qualifications.
-
5Setting Up the Development EnvironmentText lesson
This is a lecture with external links and instructions to set up the development environment for this course. Towards that objective, the lecture sets the learners up with the download and installation of Visual Studio 2019 and SQL Server (including SSMS) from scratch.
-
6IntroductionVideo lesson
This lecture gets the students started with ASP.NET Core 3.1 web framework. The students will know and appreciate the need to evolve a framework like ASP.NET Core and the benefits of using it.
-
7Understanding the New Look Project FileVideo lesson
This lecture deals with the new lean and trimmed up project (.csproj) file in the ASP.NET Core web project. The project file has been considerably trimmed to only include the core framework version. Any other dependencies that may be added later rewrites the project file automatically.
-
8The Program Class and Host ObjectVideo lesson
The Program class is where the ASP.NET Core web app builds its web host server and other infrastructure and starts up as a console app (on which the web host is built) utilizing the Startup class.
-
9The Startup Class - How to Configure ServicesVideo lesson
This lecture discusses the Startup class in an ASP.NET Core 3.1 project. After going through this lecture, the students will have knowledge about the two main methods in this class and in particular, the ConfigureServices() method which is covered here is used to register framework and custom service classes.
-
10The Startup Class - Defining the Middleware PipelineVideo lesson
This lecture explains how the request processing (middleware) pipeline is created in the configure method.
-
11How Razor Pages Generate ResponseVideo lesson
In this lecture, the entire mechanism of generating an HTML response to a request as handled by the Razor Pages in an ASP.NET Core 3.1 application is discussed.
The students will have a deeper insight into the practical request-response flow mechanism through the middleware pipeline.
-
12Section SummaryVideo lesson
-
13Assignment 1: Assess your understanding of the ASP.NET Core 3.1 Web ProjectText lesson
-
14About MiddlewareVideo lesson
In this lecture video, the learners will learn concepts about Middleware such as
What is middleware?
Middleware used to add functionality
Forming a pipeline combining middleware
-
15Asynchronous Programming through Console ApplicationVideo lesson
This lecture teaches the concepts of asynchronous programming. After going through this lecture, the students will be able to answer questions:
What is Asynchronous Programming?
Why is it required?
How is it implemented in C# code?
-
16Request Delegate Usage for Inline MiddlewareVideo lesson
This lecture shows how to code for a Custom Inline Middleware as a request delegate. It demonstrates the usage of Run() and Use() extension methods and how the Run()can terminate the middleware chain and returns a response to the stream. It also shows the chaining of request delegates through the Use() extension method.
-
17Create Your Custom MiddlewareVideo lesson
This lecture walks through the steps to create a custom middleware. The students are expected to be able to create their own simple custom middleware after going through the lecture.
-
18Understand the Behavior on Combining MiddlewareVideo lesson
In this lecture, the students will learn how to combine multiple middleware in a middleware pipeline. Specific emphasis is given on WelcomePage and Static file middleware.
-
19Test Your Middleware KnowledgeQuiz
It is a quiz containing multiple-choice questions on Middleware to test what you've learned in this section.
-
20Create a ToDo List Razor Pages ApplicationVideo lesson
This is a walkthrough to build a simple Razor ToDoList application with the in-memory collection. The lecture uses a service layer and dependency injection principles.
-
21Build a Complete MVC ToDo List ApplicationVideo lesson
This is a walkthrough to build the ToDoList application with MVC with the in-memory collection. The lecture uses a service layer and dependency injection principles.
-
22Assignment : Razor PagesText lesson
-
23Assignment : MVC ApplicationText lesson
-
24Model Binding IntroductionVideo lesson
At the end of this lecture, the students will have a fairly good understanding of the Model Binding concept.
-
25Integrating Microsoft GitHub Repository Sample CodeVideo lesson
This lecture explains the process of integrating the open-source Microsoft repository sample code available for learning purposes in Visual Studio 2019. At the end of this lecture, the students are expected to integrate the model binding sample code into their own VS projects.
-
26Announcing Release of ASP.NET 6Text lesson
-
27Match the Columns A & BText lesson
-
28What is State Management of a Web Application ?Text lesson
-
29Cookies for State ManagementVideo lesson
Lecture with code examples from a running project to demonstrate how cookies are used for State Management?
-
30State Management (Session State)Video lesson
Lecture with code examples from a running project to demonstrate State Management with Session State.
-
31Query Strings for State ManagementVideo lesson
Lecture with code examples from a running project to demonstrate State Management with Query Strings.
-
32Hidden Fields for State ManagementVideo lesson
Lecture with code examples from a running project to demonstrate State Management with Hidden Fields.
-
33Assignment on State ManagementText lesson
-
34Introduction: Build and Consume a Web API using ASP.NET Core and ADO.NETVideo lesson
This is an eye-opener introduction into the highlights of a solution that has two projects: a web API that is consumed in an ASP.NET Core MVC client. The application uses ADO.NET and uses client and server-side validation. It also uses error logging in a file.
-
35Create a Web APIVideo lesson
In this lecture, an ASP.NET Core Web API project is created with ASP.NET Core Web App Empty Template. This project will serve as the API for the MVC Client.
-
36Understand the SQL Server Database TablesVideo lesson
We start analyzing a pre-existing Microsoft SQL Server database that was created for this application. The learners will understand the database table structure which will be used by the client application to carry out the CRUD operations. Microsoft-SQL Scripts are added as resources and maybe run on SQL Server Management Studio to create the database and associated tables.
-
37Understand the Stored Procedures for CRUD operationVideo lesson
This lecture discusses all the CRUD stored procedures that are used for this application. The learners will understand and be able to write simple stored procedures for these CRUD operations. Stored procedure script is added as resource to generate them by running it on a SQL Client such as SSMS.
-
38Create the Customer Model ClassVideo lesson
The Customer model is created in this lecture. The model is mapped to the corresponding Customer table in the database.
-
39Create the Order Model ClassVideo lesson
This lecture discusses the creation of the Order class. This is mapped to the Order table in the database.
-
40Create the ICustomerRepository InterfaceVideo lesson
The application uses a repository pattern, so in this lecture, an ICustomerRepository interface is created.
-
41Create the IOrderRepository InterfaceVideo lesson
The application uses a repository pattern, so in this lecture, an IOrderRepository interface is created to cater to the Order Table in the database.
-
42Edit the appsettings.json File to Include the Connection StringVideo lesson
The appsettings.json file is modified to include a connection string to the database for communication.
-
43Error Logging in Web Api ProjectVideo lesson
The error logging and handling concept adopted is explained in this lecture.
-
44Integrating Serilog for Web Api LoggingVideo lesson
In this lecture, I explain the steps for integrating Serilog for Web Api logging. The changed appsettings.json file is added as a resource.
-
45Create a Customer RepositoryVideo lesson
A Customer Repository class is created and initialized with the connection string and the logger object. GetAllCustomers() method is created to list all Customers from the Customer Table in the SQL database.
-
46Completing Customer Repository CRUD MethodsVideo lesson
All the rest of the CRUD methods using ADO.NET for the Customer Repository are completed in this lecture.
-
47Testing ADO.NET Coding SkillsText lesson
-
48Create an Order RepositoryVideo lesson
An Order Repository class is created and initialized with the connection string and the logger object. GetAllOrders() method is created to list all Orders from the Orders Table in the SQL database.
-
49Completing Order Repository CRUD MethodsVideo lesson
All the rest of the CRUD methods using ADO.NET for the Order Repository are completed in this lecture.
-
50Registering in Startup ClassVideo lesson
This lecture registers the repositories into the dependency container in the Startup class ConfigureServices() method
-
51Creating the Home ControllerVideo lesson
At the end of this lecture, the students shall be able to customize a home controller that indicates the state of the api.
-
52Creating the Customer ControllerVideo lesson
This lecture walks through creating the Customer Controller in the Web API project. It uses the Customer Repository to associate the CRUD operations with the Controller action methods.
-
53Creating the Order ControllerVideo lesson
This lecture walks through creating the Order Controller in the Web API project. It uses the Order Repository to associate the CRUD operations with the Order Controller action methods.
-
54Create an ASP.NET Core MVC ProjectVideo lesson
In this lecture, I walk through the creation of an ASP.NET Core 3.1 MVC project and students should be able to do the same after attending this lecture.
-
55Inspect the wwwrootVideo lesson
This lecture covers the web root folder a.k.a wwwroot created at the root of the project when you create an ASP.NET Core 3.1 project and use the MVC template.
-
56The Shared FolderVideo lesson
This lecture explains the Views/Shared folder and its contents. Students will be aware of the functions of all the folder files and their importance in the project.
-
57Views Folder - Other FilesVideo lesson
This lecture explains the other two files: ViewStart and ViewImports and their contents. Students will be aware of the functions of these two files and their importance in the project.
-
58Controllers FolderVideo lesson
This lecture discusses the Controller folder and its content (HomeController) created when the project was created with the default Model-View-Controller project template.
-
59Models FolderVideo lesson
This lecture discusses the default Models folder created on the creation of the MVC project.
-
60Create the Customer and Order ClassesVideo lesson
In this video, the learners will learn the creation of the model classes: Customer and Order that map to the corresponding database tables.
The code for the model classes is the same as those put as downloadable resources for the Web API project.
-
61Edit the Layout FileVideo lesson
This is a lecture that explains and shows the code to customize the default layout template file.
The students will know how to use only the bits that are useful to get on with their project.
-
62Configuring the Startup ClassVideo lesson
Startup Class is explained with the ways to configure it to include the essential code to configure the appropriate service and include essential middleware.
-
63Modify the Home ControllerVideo lesson
The HomeController is edited to customize it for starting the application.
-
64Install Nuget PackagesVideo lesson
In this lecture, the students will know which are the essential nuget packages for the MVC client application and how to install them in the project.
-
65Edit Home Controller Index ViewVideo lesson
We edit the default Index View of the Home Controller in this lecture to customize it according to our needs.
-
66Create the Customer ControllerVideo lesson
Students will be able to create the Customer Controller and complete the Index action method after completing this lecture.
-
67Create the Index View (Customer Controller)Video lesson
This lecture walks through the coding for creating the index view for the Customer Controller. The application is run to see the Customer list.
-
68Create the GetCustomer Action MethodsVideo lesson
The students will learn how to complete the coding for the GetCustomer Action methods (both GET and POST) for the Customer Controller.
-
69Create the View to Get Customer By IdVideo lesson
Completing this lecture shall allow the students to create a view that shows a customer with a specific Id and a message if that customer does not exist in the database.
-
70Add Validation Attributes to Customer ClassVideo lesson
This lecture discusses the use of System.ComponentModel.DataAnnotation library for attribute validation for the Customer class. The students will become aware of the usage of validation attributes. At the end of this lecture, the students will know the reasons for applying them in the model.
-
71Create AddCustomer Action MethodsVideo lesson
On the Customer Controller side, AddCustomer (get and post) action methods are coded in this lecture with an explanation.
-
72Server Side Validation with AddCustomer ViewVideo lesson
AddCustomer view is added in this lecture along with suitable markup with built-in tag helpers to add model or server-side application. Application is run at the end of the lecture to demonstrate server-side validation in action.
-
73Client Side Validation of Customer ModelVideo lesson
This lecture shows the process to add client-side validation using jQuery unobtrusive package. I show the working of client-side through F12 Chrome developer tools and also explain how validation on client works ?
-
74Create UpdateCustomer Action MethodsVideo lesson
This lecture is about creating the GET and POST action methods for Updating a Customer. The students will learn the code with a thorough explanation of the methods.
-
75Create UpdateCustomer ViewVideo lesson
The students will be able to understand the creation and working of the view to render an update of a customer record. They will get a refresher on the client and server-side validation in the process. The completed application until this point is run and shown.
-
76Create the DeleteCustomer Action MethodVideo lesson
This lecture explains the code to delete a Customer from the database.
-
77Test Your Knowledge on MVC Project StructureQuiz
Designed to assess your knowledge in MVC Template Project Structure
-
78SQL Script QuizQuiz
Quiz to test SQL knowledge
-
79Create the Order ControllerVideo lesson
This lecture walks through the coding exercise to create the Order Controller with the Index action method.
-
80Create Index View (Order Controller)Video lesson
I explain the creation and code for the Index View of the Order Controller. Students will be able to create the Order Controller Index View and run the application.
-
81Create GetOrder Action MethodsVideo lesson
In this lecture, I work out the code for creating the GetOrder(GET and POST) action methods on the Order Controller. The code is discussed in detail along the way.
-
82Create GetOrder ViewVideo lesson
In this lecture, the students will learn how to create the GetOrder View with a thorough explanation. The application is also run to show the relevant functionalities.
-
83Add Validation Attributes to Order ClassVideo lesson
In this lecture, I show adding the validation attributes to the Order Model class. This is required for server-side validation of the Order form.
-
84Create AddOrder Action MethodsVideo lesson
This lecture builds the code for AddOrder action methods (GET and POST). The students will be able to:
AddOrder (HTTPGET) action method to return a view for adding an order
AddOrder (HTTPPOST) action method to add(insert) customer order details to the database (One-Many relationship)
-
85Create the AddOrder ViewVideo lesson
AddOrder view is added in this lecture along with suitable markup with built-in tag helpers to add model or server-side application. Application is run at the end of the lecture to demonstrate adding an order to the database.
-
86Testing Validation of Order Form InputsVideo lesson
This lecture runs through the application and tests user input validation checks on the Order Form. Students will learn how to test the client and server-side validations after going through the lecture.
-
87Create UpdateOrder Action MethodsVideo lesson
This lecture is about creating the GET and POST action methods for Updating an Order. The students will learn the code with a thorough explanation of the methods.
-
88Create the UpdateOrder ViewVideo lesson
The students will be able to understand the creation and working of the view to render an updated order record. They will get a refresher on the client and server-side validation in the process. The completed application until this point is run and shown.
-
89Create the DeleteOrder Action MethodVideo lesson
This is the lecture that explains the code for a DeleteOrder action method that deletes an order from the database. It does this without any confirmation of record deletion. This confirm delete view in the present project context is not significant as the focus is on consuming a web API by an MVC client.
-
90Client MVC App AssignmentText lesson
External Links May Contain Affiliate Links read more