-
Unit 2: Getting Started: Setting up my Developer Machine
11 Lessons-
PreviewVisual Studio Code
-
PreviewVisual Studio 2022
-
PreviewAdd extensions for VS2022
-
PreviewSQL Server Developer Edition
-
PreviewSQL Server Management Studio (SSMS)
-
PreviewSQL Server Data Tools and Modifying an existing Visual Studio Installation
-
PreviewGet GIT on your machine, escape VIM, and set global config values for username, email, and editor
-
PreviewGet Latest PowerShell, Chocolatey, and WSL 2 for Windows
-
PreviewGet Docker Desktop, Add Kubernetes, Run a sample .Net Core Web Application in a container
-
PreviewWindows Terminal
-
PreviewGet the Azure CLI on your local machine
-
-
Unit 3: Creating the Contact Manager Project
4 Lessons-
PreviewCreate a new C# MVC Web Project
-
PreviewEnsure NuGet packages are up to date
-
PreviewReview the initial migration, run the project, apply the migration via the browser, then change the database connection string
-
PreviewRun the initial database migration against your local SQL Server, then examine how to review the data with various tools
-
-
Unit 4: Source Control
5 Lessons -
Unit 5: Creating the Models (the "M" in MVC)
6 Lessons -
Unit 6: Leveraging a new Database Project for Model creation
6 Lessons-
StartCreate the New Database Project and Add the Database context for MyContactManager data
-
StartAdd a database migration for State and Contact Models to map to appropriate database tables
-
StartUpdate the database
-
StartRollback the previous Migration
-
StartAdd a "Seed" for the database States table data, create and apply the migration
-
StartCommit changes and push to the repository
-
-
Unit 7: Creating the Controllers and Scaffolding Views (the "C" and "V" of MVC)
7 Lessons-
StartCreate the States Controller and Scaffold Views
-
StartGetting the DB Context Injected as a Service to the Contact Web Project
-
StartCreate the Contacts Controller and scaffold Views
-
StartFix the invalid state for Contacts Model on Create/Edit
-
StartCreate and Edit Contacts, fix some small code issues
-
StartRework Contacts Controller to get state data in one place
-
StartCommit Changes and Push to Remote
-
-
Unit 8: Use a feature branch developer flow to Implement Caching For States Data
6 Lessons-
StartCreate a feature branch
-
StartUpdate States Controller To Cache States Data
-
StartUpdate States Controller to Invalidate Cache on CRUD Operations
-
StartUpdate Contacts Controller to pull States data from Cache first, then fall back to the context if necessary
-
StartUpdate Contacts controller to fix issues with disconnected data for states on Create
-
StartSmoke 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
14 Lessons-
StartUse a Feature Branch and Create the Repositories Project
-
StartCreate the Services Project
-
StartCreate and Move operations for the States to the States Repository
-
StartCreate operations in the States Service and call to the service from the States controller
-
StartInject Services into the Program
-
StartAdd Unit Tests for States Service
-
StartFinishing Up the Unit Testing for the States Service
-
StartAdd Integration Tests for the States Repository
-
StartContinued Integration Testing for the States Repository
-
StartFinalizing States Integration Testing
-
StartMove Operations for Contacts to the Repository and Add Integration Tests
-
StartCreate Contacts Service Unit Tests and Replace Calls in the Controller
-
StartSmoke Test and Push to remote - You could create PR and merge. I have a conflict to resolve
-
StartForce push a history reset to main, then merge the PR
-
-
Unit 10: Implement Authorization
11 Lessons-
StartLock down the controllers by authorization for authenticated users only
-
StartAdd Authorization by Role to the states controller
-
StartCreate User Roles Service to ensure users and roles for admin user
-
StartWire up a call to the EnsureUsersAndRoles from the home controller and execute it, then show admin on States
-
StartDemonstration: Contacts bleed across users/URLs are hackable
-
StartUpdate Solution To Leverage the User Id In the Contacts Hierarchy
-
StartFinish updates for Integration and Service Tests to Ensure Contact User Mapping
-
StartLock down contacts to specific users in the Controller
-
StartUpdate the UI to hide the UserId from all contacts views - part 1
-
StartUpdate the UI to hide the UserId from all contacts views - part 2
-
StartPush changes and close some issues
-
-
Unit 11: Updating the User Interface (UI)
16 Lessons-
StartAdding Navigation Links and ensuring links only show to authorized users
-
StartUpdate Navigation Links for highlighting the "active" tab
-
StartCheck in Changes, Update issues, create PR, Get DataTables, Add DataTables to the project
-
StartAdd DataTables assets to the project
-
StartUpdate the Contacts Index.cshtml view to leverage DataTables
-
StartCreate Prototype HTML for simple UI Testing
-
StartPrototyping the new Create Contact Layout
-
StartClean up Contacts Create.cshtml view
-
StartClean up Contacts Edit.cshtml view
-
StartPrototype Details Modal Dialog
-
StartImplement Details Modal Dialog
-
StartImplement Confirm Dialog for Delete
-
StartCommit Changes, Push, Close issue and merge PR
-
StartClean up remaining pages and add Datatables for States Index
-
StartMake the home page your own
-
StartPush to GitHub and create two final issues
-
-
Unit 12: Deploying your website to Azure
7 Lessons-
StartGet an account at Azure [if you don't have one]
-
StartAzure Overview and Create a new Resource Group
-
StartCreate an Azure App Service
-
StartCreate an Azure SQL Database
-
StartAssociating the App Service database to your Azure SQL Database
-
StartAdd Automation for Database Migrations
-
StartSmoke Test and push a change to validate CI/CD
-