ASP .Net MVC Quick Start
Build your own public-facing CRUD (Create, Read, Update, Delete) website w/MVC and Entity Framework in a weekend.
Description
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.
After creating the backend portion of the site, we'll put DataTables.js on our Index view so that we can easily show the data, as well as provide built-in JavaScript tools that will filter and sort the data for us. This will make your application "pop" when people look at it because it will be fast and easy to sort through the data and filter for results.
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.
What You Will Learn!
- Understand the major pieces of the Microsoft ASP .Net Framework
- Have a public-facing website with authorization, authentication, and real-world value to enhance your resume/electronic portfolio
- Understand how to use the code-first approach to generating a database using Entity Framework
- Discuss the differences between Models, Views, and Controllers
- Have the tools to setup and host a basic CRUD Web Application online
- Have a basic understanding of working with Git and GitHub
- Ability to deploy an application to an Azure App Service with CI/CD from GitHub actions
- Understand how to evaluate database calls and implement caching to aid with efficiency
- Ability to work with Bootstrap and update your UI, including utilization of bootstrap modals and the bootstrap grid
- Can implement Datatables .js in your project and quickly get a robust client-side grid
- Understand how to utilize unit and integration testing with XUnit projects, Shouldly, Moq, and in-memory databases
Who Should Attend!
- Anyone who wants to have a public-facing full-stack website that shows your skills for your resume/e-portfolio
- Developers making the switch from .Net Web Forms to MVC
- Web Developers switching from Java, Ruby, PHP, or another framework to .Net
- New ASP .Net MVC Developers
- New Web Developers looking to build robust full-stack solutions
- Any developer that wants to round out your full-stack web development skills