ASP Net MVC Quick Start
What you’ll 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
Requirements
You should at least be a little familiar with Web Programming in HTML, javascript, and CSS
We will go through installing the tools you need
We will cover everything you need to understand and be able to build and deploy a public-facing website to enhance your resume/e-portfolio
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.
Overview
Section 1: Unit 1: Welcome and Overview
Lecture 1 The Story and Purpose of this course
Lecture 2 Introduction, Welcome, and Overview
Lecture 3 The evolution of this course and thoughts on the latest release
Lecture 4 Course Repository and Resources
Section 2: Unit 2: Getting Started: Setting up my Developer Machine
Lecture 5 Install Visual Studio Code
Lecture 6 Install Visual Studio 2022
Lecture 7 Add Some Extensions for Visual Studio 2022
Lecture 8 Install SQL Server Developer Edition
Lecture 9 Installing SQL Server Management Studio
Lecture 10 Verifying installation of SQL Server Data Tools
Lecture 11 Install GIT on your Windows machine [Linux and Mac likely have GIT already]
Section 3: Unit 3: Creating the Contact Manager Project
Lecture 12 Creating an MVC Project in .Net 6
Lecture 13 Ensure NuGet Packages are up to date
Lecture 14 Review, run, apply initial migration, change the connection string
Lecture 15 Create and Run the initial Migration
Section 4: Unit 4: Source Control
Lecture 16 Add a Local .gitignore file
Lecture 17 Creating the Local GIT Repository and Setting the Remote to GitHub
Lecture 18 Get a GitHub Account
Lecture 19 Create a new repository at GitHub
Lecture 20 Blow away your code and get it back
Section 5: Unit 5: Creating the Models (the “M” in MVC)
Lecture 21 Discuss Utilizing the Default Models Folder
Lecture 22 Create a “Models” Project For Reusability of your Models
Lecture 23 Create the States Model
Lecture 24 Create the Contact Model Part 1 – Constants and Properties
Lecture 25 Create the Contacts Model Part 2 – Annotations
Lecture 26 Commit changes and push to the Remote Repository
Section 6: Unit 6: Leveraging a new Database Project for Model creation
Lecture 27 Create a New Database Project
Lecture 28 Add References to Contact And State and Create a migration
Lecture 29 Update the Database and Review the Tables
Lecture 30 Rollback and Remove the Migration
Lecture 31 Add a Seed for States, then add the migration and apply it
Lecture 32 Commit and Push changes to the Remote repository
Section 7: Unit 7: Creating the Controllers and Scaffolding Views (the “C” and “V” of MVC)
Lecture 33 Create the States Controller and Scaffold Views
Lecture 34 Getting the DB Context Injected as a Service to the Contact Web Project
Lecture 35 Create the Contacts Controller and scaffold Views
Lecture 36 Fix the invalid state for Contacts Model on Create/Edit
Lecture 37 Create and Edit Contacts, fix some small code issues
Lecture 38 Rework Contacts Controller to get state data in one place
Lecture 39 Commit Changes and Push to Remote
Section 8: Unit 8: Use a feature branch developer flow to Implement Caching For States Data
Lecture 40 Create a feature branch
Lecture 41 Update States Controller To Cache States Data
Lecture 42 Update States Controller to Invalidate Cache on CRUD Operations
Lecture 43 Update Contacts Controller to pull States data from Cache first, then fall back
Lecture 44 Update Contacts controller to fix issues with disconnected data for states on Cr
Lecture 45 Update Contacts controller to fix issues with disconnected data for states on Cr
Section 9: Unit 9: Utilizing Services and Repositories and Adding Unit and Integration Test
Lecture 46 Use a Feature Branch and Create the Repositories Project
Lecture 47 Create the Services Project
Lecture 48 Create and Move operations for the States to the States Repository
Lecture 49 Create operations in the States Service and call to the service from the States
Lecture 50 Inject Services into the Program
Lecture 51 Add Unit Tests for States Service
Lecture 52 Finishing Up the Unit Testing for the States Service
Lecture 53 Add Integration Tests for the States Repository
Lecture 54 Continued Integration Testing for the States Repository
Lecture 55 Finalizing States Integration Testing
Lecture 56 Move Operations for Contacts to the Repository and Add Integration Tests
Lecture 57 Create Contacts Service Unit Tests and Replace Calls in the Controller
Lecture 58 Smoke Test and Push to remote, I have a conflict to resolve first
Lecture 59 Force push a history reset to main, then merge the PR
Section 10: Unit 10: Implement Authorization
Lecture 60 Lock down the controllers by authentication and authorization
Lecture 61 Add Authorization by Role to the states controller
Lecture 62 Create User Roles Service to ensure users and roles for admin user
Lecture 63 Wire up EnsureUsersAndRoles on Home Controller, Verify Admin access on states
Lecture 64 Demonstration: Contacts bleed across users/URLs are hackable
Lecture 65 Update Solution To Leverage the User Id In the Contacts Hierarchy
Lecture 66 Finish updates for Integration and Service Tests to Ensure Contact User Mapping
Lecture 67 Lock down contacts to specific users in the Controller
Lecture 68 Update the UI to hide the UserId from all contacts views – part 1 of 2
Lecture 69 Update the UI to hide the UserId from all contacts views – part 2 of 2
Lecture 70 Push changes and close some issues
Section 11: Unit 11: Updating the User Interface (UI)
Lecture 71 Adding Navigation Links and ensuring links only show to authorized users
Lecture 72 Update Navigation Links for highlighting the “active” tab
Lecture 73 Check in Changes, Update issues, create PR, Get the Datatables.js assets
Lecture 74 Add DataTables assets to the project
Lecture 75 Update the Contacts Index.cshtml view to leverage DataTables
Lecture 76 Create Prototype HTML for simple UI Testing
Lecture 77 Prototyping the new Create Contact Layout
Lecture 78 Clean up Contacts Create.cshtml view
Lecture 79 Clean up Contacts Edit.cshtml view
Lecture 80 Prototype Details Modal Dialog
Lecture 81 Implement Details Modal Dialog
Lecture 82 Implement Confirm Dialog for Delete
Lecture 83 Commit Changes, Push, Close issue and merge PR
Lecture 84 Clean up remaining pages and add Datatables for States Index
Lecture 85 Make the home page your own
Lecture 86 Push to GitHub and create two final issues
Section 12: Unit 12: Deploying your website to Azure
Lecture 87 Get an account at Azure [if you don’t have one]
Lecture 88 Azure Overview and Create a new Resource Group
Lecture 89 Create an Azure App Service
Lecture 90 Create an Azure SQL Database
Lecture 91 Associating the App Service database to your Azure SQL Database
Lecture 92 Add Automation for Database Migrations
Lecture 93 Smoke Test and push a change to validate CI/CD
Section 13: Unit 13: Monitoring your website with Azure Application Insights
Lecture 94 Add Telemetry for Azure Application Insights
Lecture 95 Reviewing your telemetry at Azure
Lecture 96 Add Custom Telemetry to your Application
Section 14: Getting Started [Previous Version – Retiring 2022]
Lecture 97 Information about the rest of these videos
Lecture 98 Introduction, Welcome, and Overview
Lecture 99 The Job Posting
Section 15: SETUP: MVC with the .Net Framework, Manual Deploy to AppHarbor public hosting
Lecture 100 Creating an MVC Project with the .Net Framework – Introductory Information
Lecture 101 Creating the Project
Lecture 102 Get Updates from Nuget Packages – Bootstrap 4, Jquery 3.4, and Entity Framework
Lecture 103 Revert the Entity Framework Update to Version 6.2 from Version 6.2
Lecture 104 Update Bootstrap styles to handle Bootstrap 4 [Nuget Packages already updated]
Lecture 105 Get a Bootswatch theme [Bootstrap/Bootswatch 4]
Lecture 106 Review and Discuss the Bundle Config
Lecture 107 Optional: Change the db to point at SQLExpress instead of LocalDb File
Section 16: Creating Models (The “M” in MVC)
Lecture 108 Creating The Local GIT Repository and Connecting to GitHub and BitBucket
Lecture 109 Creating your application at AppHarbor for free public hosting
Lecture 110 Adding a database and using Relase Config Transformations, push to AppHarbor
Lecture 111 Cool thing I learned: Sync to Multiple Upstream Remotes using VS IDE
Lecture 112 Contact web after the Setup is completed
Section 17: Creating Models (The “M” in MVC)
Lecture 113 Restore from Source Control and re-establish AppHarbor as a remote upstream
Lecture 114 An Overview of Models, Creating a working git branch, and create the State Model
Lecture 115 Creating the Contact Model – part 1
Lecture 116 Creating the Contact Model – part 2
Lecture 117 Adding a Database Migration, discussion of DB Context
Lecture 118 Update the database, rollback the migration, reapply the migration
Lecture 119 Create the States with a database Seed
Lecture 120 Committing Changes, merging, pull request, fetch with prune
Lecture 121 Contact Web after setting up the Models [MVC .Net Framework version files]
Section 18: Views and Controllers (The “V” and “C” in MVC)
Lecture 122 Create the States Controller and Views
Lecture 123 Adding Authentication Requirements to a Controller
Lecture 124 Adding a Default Role and Super Admin User [part 1]
Lecture 125 Adding Authorization by Role to the Controller [part 2]
Lecture 126 Creating the Contact Controller and Views
Lecture 127 Fixing the Scaffolded Views and Use Only the Logged in User Id
Lecture 128 Continue To Cleanup the Contact CRUD Pages
Lecture 129 Security fix: Locking Down Contacts to the Specific User
Lecture 130 Making Sure User Can Only See and Affect Their Own Contacts
Lecture 131 Checking in Changes, merging, and pushing with fixes to get AppHarbor Working
Lecture 132 Contact Web after initial Views and Controllers [.Net Framework Version Files]
Section 19: Working on the Overall UI – Getting our project ready to share with the world
Lecture 133 Adding Links to nav, tracking active link, use the whole page, set button styles
Lecture 134 Getting DataTables
Lecture 135 Adding DataTables to BundleConfig for scripts and styles [.Net Framework MVC]
Lecture 136 Modifying the Contacts – Index.cshtml view to reference and use DataTables
Lecture 137 Check-in changes to get ready for Create cleanup
Lecture 138 Cleanup the Contacts Create View [part 1]
Lecture 139 Cleanup the Contacts Create View [part 2]
Lecture 140 Cleanup the Contacts Create View [part 3]
Lecture 141 Cleanup the Contacts – Index View
Lecture 142 Cleanup the Contacts -> Edit page
Lecture 143 Cleanup the Contacts Details and Delete Views
Lecture 144 Check in, merge, sync, and deploy to App Harbor
Lecture 145 Cleanup the Contact and About views on the Home Controller
Lecture 146 Make the Home page your landing/hire me page
Lecture 147 Final Check in and push
Lecture 148 Contact Web after Working on the UI [.Net Framework Files]
Section 20: Completing Our Study
Lecture 149 How can we make the site better?
Lecture 150 Next Steps
Lecture 151 Course Wrap-Up
Section 21: DEPRECATED: Updates, Fixes, and Cleanup – still shows how to cleanup a repo
Lecture 152 Merging branches when there are likely some problematic files
Lecture 153 Setup Fetch with Prune – keep our remote refs clean
Lecture 154 Set our application to run with HTTPS, and perform some updates
Lecture 155 Get Facebook Working
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
Course Information:
Udemy | English | 17h 41m | 10.16 GB
Created by: Brian Gorman
You Can See More Courses in the Developer >> Greetings from CourseDown.com