#Day 1 topic: Foundations
| Time | Topic | Details |
|---|---|---|
| 9:00-10:30 | Level set and introduction to ASP.NET Core | What is everybody's background? Helps us push parts of the course in the right direction. We should probably get people to fill out a survey on regisration too. Why did they rewrite .NET Core? Is it really that different from MVC 4/5? Introduce dependen injection |
| 10:30-10:45 | Break | |
| 10:45-12:15 | Creating a new project | Get people started with Visual Studio. Perhaps introduce VS Code. Create a new controller, create views, create a model. Discuss what sorts of data go into view models and what we should inject. Talk a bit about conventions for naming views and routes. I don't like special routes but some people do because they can't leave well enough alone |
| 12:15-1:00 | Lunch | |
| 1:00-2:30 | Entity Framework | How do I get data? Migrations. Setting up multiple bounded contexts. How to check if the queries are good/performant? How to break out of EF and run raw queries for places where you need special optimizations or where you're doing bulk operations or data cube things. |
| 2:30-2:45 | Break | |
| 2:45-4:15 | .NET Standard | Cover cross platform, the interfaces which are standard, why they did it. Open source ness, roslyn, RiuJIT, all the fun of new things |
| 4:15-5:00 | Questions open discussion or go home | Bonus content: F# |
#Day 2 topic: Getting it out there
| Time | Topic | Details |
|---|---|---|
| 9:00-10:30 | Testing | Xunit, mocking, use of DI to isolate tests, performance testing with VSTS |
| 10:30-10:45 | Break | |
| 10:45-12:15 | Builds and deployment | How to build the site on the command line, gulp/grunt, deploying to azure websites, api apps, webjobs |
| 12:15-1:00 | Lunch | |
| 1:00-2:30 | Data storage on azure | Hosted SQL, blob storage, table storage, document db, search |
| 2:30-2:45 | Break | |
| 2:45-4:15 | Identity | How to log people in, how to use a 3rd party to hold credentials and why, how to integrate with on-site identity tools, single sign on |
| 4:15-5:00 | Questions open discussion or go home | Bonus topic azure functions or docker |
#Day 3 topic: Make it awesome
| Time | Topic | Details |
|---|---|---|
| 9:00-10:30 | Bootstrap | You don't need no stinking designer, just stand on the shoulders of people who know about how to make stuff pretty |
| 10:30-10:45 | Break | |
| 10:45-12:15 | Typescript | It is like javascript but good and it supports EF2017, mostly. How to pull in definition files, how to do modules and loaders, how HTTP2 changes things. |
| 12:15-1:00 | Lunch | |
| 1:00-2:30 | JavaScript for SPAs | How to use some view engine vue.js or react, client side routing, templates and components, advantages, disadvantages, how to hook in controls like kendo |
| 2:30-2:45 | Break | |
| 2:45-4:15 | Mediator and messaging | What's a message, events vs. commands, doing internal messaging using mediatR, doing external messaging using NSB or azure servicebus |
| 4:15-5:00 | Questions open discussion or go home | Bonus topic caching |