Zenler Player
Your course is loading. Hang tight.
ASP.Net MVC Quickstart
Back to curriculum
0% Complete
0% Complete
The Story and Purpose behind this course
Welcome to the course - Who am I and what you will gain from our time together
The evolution of this course through the years
Course Repository Resources
Visual Studio Code
Visual Studio 2022
Add extensions for VS2022
SQL Server Developer Edition
SQL Server Management Studio (SSMS)
SQL Server Data Tools and Modifying an existing Visual Studio Installation
Get GIT on your machine, escape VIM, and set global config values for username, email, and editor
Get Latest PowerShell, Chocolatey, and WSL 2 for Windows
Get Docker Desktop, Add Kubernetes, Run a sample .Net Core Web Application in a container
Windows Terminal
Get the Azure CLI on your local machine
Create a new C# MVC Web Project
Ensure NuGet packages are up to date
Review the initial migration, run the project, apply the migration via the browser, then change the database connection string
Run the initial database migration against your local SQL Server, then examine how to review the data with various tools
Add a .gitignore file
Create a local GIT repository, commit the initial project files
Get an account at GitHub (if you don't already have one)
Create a new repository at GitHub and push your code to the remote repository
Blow away your code and get it back from remote
Discuss utilizing the default "Models" folder
Create a "Models" Project For Reusability of your Models
Create the States Model
Create the Contacts Model
Add Annotations To The Contact Model
Commit changes and push to the repository.
Create the New Database Project and Add the Database context for MyContactManager data
Add a database migration for State and Contact Models to map to appropriate database tables
Update the database
Rollback the previous Migration
Add a "Seed" for the database States table data, create and apply the migration
Commit changes and push to the repository
Create the States Controller and Scaffold Views
Getting the DB Context Injected as a Service to the Contact Web Project
Create the Contacts Controller and scaffold Views
Fix the invalid state for Contacts Model on Create/Edit
Create and Edit Contacts, fix some small code issues
Rework Contacts Controller to get state data in one place
Commit Changes and Push to Remote
Create a feature branch
Update States Controller To Cache States Data
Update States Controller to Invalidate Cache on CRUD Operations
Update Contacts Controller to pull States data from Cache first, then fall back to the context if necessary
Update Contacts controller to fix issues with disconnected data for states on Create
Smoke Test, Commit Changes, Push to Remote, then Create a Pull Request to main, Commit the Pull Request
Use a Feature Branch and Create the Repositories Project
Create the Services Project
Create and Move operations for the States to the States Repository
Create operations in the States Service and call to the service from the States controller
Inject Services into the Program
Add Unit Tests for States Service
Finishing Up the Unit Testing for the States Service
Add Integration Tests for the States Repository
Continued Integration Testing for the States Repository
Finalizing States Integration Testing
Move Operations for Contacts to the Repository and Add Integration Tests
Create Contacts Service Unit Tests and Replace Calls in the Controller
Smoke Test and Push to remote - You could create PR and merge. I have a conflict to resolve
Force push a history reset to main, then merge the PR
Lock down the controllers by authorization for authenticated users only
Add Authorization by Role to the states controller
Create User Roles Service to ensure users and roles for admin user
Wire up a call to the EnsureUsersAndRoles from the home controller and execute it, then show admin on States
Demonstration: Contacts bleed across users/URLs are hackable
Update Solution To Leverage the User Id In the Contacts Hierarchy
Finish updates for Integration and Service Tests to Ensure Contact User Mapping
Lock down contacts to specific users in the Controller
Update the UI to hide the UserId from all contacts views - part 1
Update the UI to hide the UserId from all contacts views - part 2
Push changes and close some issues
Adding Navigation Links and ensuring links only show to authorized users
Update Navigation Links for highlighting the "active" tab
Check in Changes, Update issues, create PR, Get DataTables, Add DataTables to the project
Add DataTables assets to the project
Update the Contacts Index.cshtml view to leverage DataTables
Create Prototype HTML for simple UI Testing
Prototyping the new Create Contact Layout
Clean up Contacts Create.cshtml view
Clean up Contacts Edit.cshtml view
Prototype Details Modal Dialog
Implement Details Modal Dialog
Implement Confirm Dialog for Delete
Commit Changes, Push, Close issue and merge PR
Clean up remaining pages and add Datatables for States Index
Make the home page your own
Push to GitHub and create two final issues
Get an account at Azure [if you don't have one]
Azure Overview and Create a new Resource Group
Create an Azure App Service
Create an Azure SQL Database
Associating the App Service database to your Azure SQL Database
Add Automation for Database Migrations
Smoke Test and push a change to validate CI/CD
Add Telemetry for Azure Application Insights
Reviewing your telemetry at Azure
Add Custom Telemetry to your Application
How can we make our site better?
Unit 1: Welcome and Overview
The Story and Purpose behind this course
Preview
Welcome to the course - Who am I and what you will gain from our time together
Preview
The evolution of this course through the years
Preview
Course Repository Resources
Unit 2: Getting Started: Setting up my Developer Machine
Visual Studio Code
Preview
Visual Studio 2022
Preview
Add extensions for VS2022
Preview
SQL Server Developer Edition
Preview
SQL Server Management Studio (SSMS)
Preview
SQL Server Data Tools and Modifying an existing Visual Studio Installation
Preview
Get GIT on your machine, escape VIM, and set global config values for username, email, and editor
Preview
Get Latest PowerShell, Chocolatey, and WSL 2 for Windows
Preview
Get Docker Desktop, Add Kubernetes, Run a sample .Net Core Web Application in a container
Preview
Windows Terminal
Preview
Get the Azure CLI on your local machine
Preview
Unit 3: Creating the Contact Manager Project
Create a new C# MVC Web Project
Preview
Ensure NuGet packages are up to date
Preview
Review the initial migration, run the project, apply the migration via the browser, then change the database connection string
Preview
Run the initial database migration against your local SQL Server, then examine how to review the data with various tools
Preview
Unit 4: Source Control
Add a .gitignore file
Create a local GIT repository, commit the initial project files
Get an account at GitHub (if you don't already have one)
Create a new repository at GitHub and push your code to the remote repository
Blow away your code and get it back from remote
Unit 5: Creating the Models (the "M" in MVC)
Discuss utilizing the default "Models" folder
Create a "Models" Project For Reusability of your Models
Create the States Model
Create the Contacts Model
Add Annotations To The Contact Model
Commit changes and push to the repository.
Unit 6: Leveraging a new Database Project for Model creation
Create the New Database Project and Add the Database context for MyContactManager data
Add a database migration for State and Contact Models to map to appropriate database tables
Update the database
Rollback the previous Migration
Add a "Seed" for the database States table data, create and apply the migration
Commit changes and push to the repository
Unit 7: Creating the Controllers and Scaffolding Views (the "C" and "V" of MVC)
Create the States Controller and Scaffold Views
Getting the DB Context Injected as a Service to the Contact Web Project
Create the Contacts Controller and scaffold Views
Fix the invalid state for Contacts Model on Create/Edit
Create and Edit Contacts, fix some small code issues
Rework Contacts Controller to get state data in one place
Commit Changes and Push to Remote
Unit 8: Use a feature branch developer flow to Implement Caching For States Data
Create a feature branch
Update States Controller To Cache States Data
Update States Controller to Invalidate Cache on CRUD Operations
Update Contacts Controller to pull States data from Cache first, then fall back to the context if necessary
Update Contacts controller to fix issues with disconnected data for states on Create
Smoke Test, Commit Changes, Push to Remote, then Create a Pull Request to main, Commit the Pull Request
Unit 9: Utilizing Services and Repositories and Adding Unit and Integration Testing
Use a Feature Branch and Create the Repositories Project
Create the Services Project
Create and Move operations for the States to the States Repository
Create operations in the States Service and call to the service from the States controller
Inject Services into the Program
Add Unit Tests for States Service
Finishing Up the Unit Testing for the States Service
Add Integration Tests for the States Repository
Continued Integration Testing for the States Repository
Finalizing States Integration Testing
Move Operations for Contacts to the Repository and Add Integration Tests
Create Contacts Service Unit Tests and Replace Calls in the Controller
Smoke Test and Push to remote - You could create PR and merge. I have a conflict to resolve
Force push a history reset to main, then merge the PR
Unit 10: Implement Authorization
Lock down the controllers by authorization for authenticated users only
Add Authorization by Role to the states controller
Create User Roles Service to ensure users and roles for admin user
Wire up a call to the EnsureUsersAndRoles from the home controller and execute it, then show admin on States
Demonstration: Contacts bleed across users/URLs are hackable
Update Solution To Leverage the User Id In the Contacts Hierarchy
Finish updates for Integration and Service Tests to Ensure Contact User Mapping
Lock down contacts to specific users in the Controller
Update the UI to hide the UserId from all contacts views - part 1
Update the UI to hide the UserId from all contacts views - part 2
Push changes and close some issues
Unit 11: Updating the User Interface (UI)
Adding Navigation Links and ensuring links only show to authorized users
Update Navigation Links for highlighting the "active" tab
Check in Changes, Update issues, create PR, Get DataTables, Add DataTables to the project
Add DataTables assets to the project
Update the Contacts Index.cshtml view to leverage DataTables
Create Prototype HTML for simple UI Testing
Prototyping the new Create Contact Layout
Clean up Contacts Create.cshtml view
Clean up Contacts Edit.cshtml view
Prototype Details Modal Dialog
Implement Details Modal Dialog
Implement Confirm Dialog for Delete
Commit Changes, Push, Close issue and merge PR
Clean up remaining pages and add Datatables for States Index
Make the home page your own
Push to GitHub and create two final issues
Unit 12: Deploying your website to Azure
Get an account at Azure [if you don't have one]
Azure Overview and Create a new Resource Group
Create an Azure App Service
Create an Azure SQL Database
Associating the App Service database to your Azure SQL Database
Add Automation for Database Migrations
Smoke Test and push a change to validate CI/CD
Unit 13: Monitoring your website with Azure Application Insights
Add Telemetry for Azure Application Insights
Reviewing your telemetry at Azure
Add Custom Telemetry to your Application
Unit 14: Completing this Course and Next Steps
How can we make our site better?
×
This is an unpublished lesson. This lesson will not be shown for students unless you set it as Public.
Back to Dashboard
No contents are available in this lesson!
No lessons available !
Back to Dashboard
Lesson contents locked
Enroll to unlock this lesson.
Enroll to unlock
Next Lesson