Full Stack Web Development with .NET 6

An in-depth workshop about building data-driven web applications using .NET 6. Learn how to combine reliable, performant backend code built with .NET 6, Entity Framework Core, and open-source frameworks like NodaTime and MailKit, and lightweight, responsive front-end interfaces incorporating CSS grid layouts, SASS, and JavaScript.

Workshop Overview

.NET is a free, open-source development framework that runs on everything from Raspberry Pis to cloud data centres. Released in 2021, .NET 6 and C# 10 added a whole host of new features and capabilities to the .NET platform, giving developers more power and flexibility than ever when it comes to designing and building .NET apps.

ASP.NET Core 6 is the latest release of the ASP.NET web application platform. Alongside familiar features like model/view/controller architecture, WebAPI endpoints and dependency injection, it gives us a streamlined hosting model, a new set of conventions for routing requests within our applications, and a completely new architecture known as “minimal APIs” for building API endpoints and microservices.

The .NET platform also supports a thriving ecosystem of open source projects and packages. Libraries like NodaTime can simplify and streamline your application logic. Projects like xUnit, Moq, and Shouldly let you test your applications at whatever level makes sense - from low-level unit testing to end-to-end integration tests that test your app’s entire HTTP pipeline. And on the front-end, it’s never been easier to incorporate technologies like SASS, CSS grids, responsive layouts, and even libraries like MJML for sending HTML emails.

In this two-day workshop, you’ll learn everything you need to know to design and deliver modern web applications built with .NET.

Workshop Structure

Overview of .NET web application architecture

  • Using the dotnet CLI tool
  • Creating a .NET web application
  • Configuration management
  • Registering services
  • Routing
  • Logging
  • Testing your web application

Working with relational databases

  • Lightweight data access with Dapper
  • Managing data with Entity Framework Core
  • Deploying database changes using EF Core Migrations
  • Development on localhost using Docker

Backend application logic

  • Entities and data transfer objects
  • Introducing abstractions
  • Testing application behaviour and domain logic

Locales, times, and timezones

  • What’s wrong with System.DateTime?
  • Introducing NodaTime
  • Mapping conventions for custom datatypes
  • Data formatting: dates, times, currencies
  • Formatting data using System.Globalization

Security and authentication

  • Securing web applications
  • Authentication and access control
  • Identity management - identities, principals and claims
  • Third-party authentication: how does “sign in with Google” actually work?

Front-end

  • ASP.NET web front-end architecture: layouts, areas, partial views, and tag helpers.
  • Responsive layouts with CSS grid
  • Hosting SASS and SCSS in .NET
  • Styling forms and input validation

Deployment and monitoring

  • Cross-platform gotchas: what to watch out for when you’re developing on Windows or macOS and hosting on Linux
  • Deploying to Microsoft Azure using GitHub Actions
  • Application monitoring using Application Insights

Target Audience and Prerequisites

This workshop is aimed at developers with some experience of the C# language, the .NET platform, and some basic web development. If you understand classes, inheritance, Console.WriteLine, and you know what the <select> tag in HTML does, then you should be just fine.

Attendees will need a computer running .NET 6, Docker, and a code editor that supports .NET 6 such as Microsoft Visual Studio 2022, JetBrains Rider, or Visual Studio Code.

About the Trainer

Dylan Beattie has been building data-driven web applications with C# and .NET since the beta release of the .NET Framework back in 2002. He’s used .NET to build everything from tiny standalone microservices to large-scale distributed web applications,

Dylan is a Microsoft MVP and the creator of the Rockstar esoteric programming language, and he’s presented talks about technology and software development at conferences and events all over the world. Dylan is online at https://dylanbeattie.net/ and on Twitter as @dylanbeattie.

Testimonials

Here’s what attendees have said about Dylan Beattie's .NET workshops:

  • It was very nice overview of interesting technologies. Simple and fast. Exceeded my expectations.
  • Everything was great, content, presentation, examples, answers to questions. All clear and understandable.
  • I liked the way the lecturer kept the tempo and captured attention. Everything was well prepared and worked right away or almost right away.
  • I really enjoyed the humour and that Dylan showed personality throughout the workshop.
  • Really great organization and preparation. It shows that you have experience with this kind of workshops.

Upcoming Course Dates

No public dates are currently scheduled.

If you'd like to run this workshop for your team or at your conference, please get in touch

Alternatively, join the mailing list to find out when new course dates are announced.