This course is a very quick workshop to take you through the basic actions that will be required for you to create an awesome, real-world CRUD web application in just a few hours (you could do it over a weekend very easily) using ASP .Net MVC, the Entity Framework (code-first development approach), and the built-in scaffolding capabilities of ASP .Net MVC. In the end, you'll have your own public-facing website to enhance your resume and show off your skills in your own e-portfolio for job interviews and applications!
MVC = Model, View, Controller, and is a well-known and established design pattern. Microsoft has made it extremely easy and convenient to create your web solutions using this pattern. In Microsoft's MVC framework, we find that convention is favored over configuration, so as long as we follow a few simple guidelines, the system will do a lot of the work for us.
We'll also be taking a quick look at how we can use the Entity Framework to easily model and create a database for us. By using the code-first approach, we'll simply create our models and then look at writing a DBContext to store the models. We'll also look at some of the more critical operations, such as building relationships and seeding our data.
After we've learned about the different aspects of our application, we'll quickly create a couple of controllers and use ASP .Net MVC's built-in view and scaffolding generators to easily build our CRUD operations against our database. While working on controllers we'll also look at Authentication, Authorization, and a couple of other quick security concerns.
To make the solution more robust, we'll learn about using repository and service layers to separate concerns, while also keeping our models and data in their own projects. We'll also implement integration and unit testing around these layers using XUnit, Shouldly, Moq, and in-memory databases.
Other things we will learn throughout the course involve the use of GIT for source control, pushing our repository to GitHub, and utilizing CI/CD through GitHub Actions to automatically deploy your solution to Azure. With Azure being free now, you can easily utilize the robust platform solutions available at Azure without spending any money. You'll gain experience setting up an Azure app service, configuring the connection string to connect to your Azure SQL server and database, and you'll learn about utilizing Azure Application Insights to monitor your application, including writing your own custom events and exception handling.
By the end of the course, you'll be familiar with the major working parts of creating an ASP .Net MVC CRUD application and publishing to a public-facing website with a fairly nice and responsive UI. You'll have working knowledge of Models, Views, and Controllers, as well as how they interact to create a functional web application. You'll also be exposed to the Entity Framework and Code First Migrations with use of a SQL Server backend. The best part is that although this sounds pretty daunting, it's actually quite easy with a majority of the work done for us by convention and tools.