Skip to content
ballmüllersolutions logo Send an email Call us

K2 Junior full stack with .NET and Blazor

Build, test and deliver a web application to Azure with ASP.NET Core, Blazor, SQL and EF Core – the craft for a first junior position.

Join the waiting list

Who it is for

For everyone after K1 who wants to start in web development with .NET as a junior.

Prerequisites

K1 or the placement test.

Afterward, you can

  • Build web pages with HTML and SCSS, accessible to WCAG
  • Develop web APIs with ASP.NET Core
  • Model and store data with SQL Server and EF Core
  • Build user interfaces with Blazor, static and with interactive islands
  • Add sign-in with Microsoft Entra ID and know the OWASP Top 10
  • Test web applications automatically, up to an end-to-end test
  • Build background work and integrations that hold up
  • Deliver an application to Azure as a container, with a Dockerfile and a registry of your own
  • Design and version APIs, with OpenAPI, gRPC and webhooks
  • Build live views with SignalR
  • Refactor code deliberately with SOLID and prove the gain with tests

Contents

  1. 2.1

    Web fundamentals

    HTTP, HTML, CSS and SCSS, accessibility (WCAG), browser tools

    35 h
  2. 2.2

    TypeScript, just what is needed

    strict mode, the DOM, one script per page, no framework

    15 h
  3. 2.3

    ASP.NET Core

    minimal APIs, routing, dependency injection, configuration and options, middleware, ProblemDetails, validation

    40 h
  4. 2.4

    Data

    SQL (SQL Server), modeling, indexes, EF Core, migrations, transactions

    45 h
  5. 2.5

    Blazor

    components, static SSR, forms without script, interactive islands (Server/WebAssembly), layouts, two languages

    55 h
  6. 2.6

    Sign-in and permissions

    cookies, OpenID Connect with Microsoft Entra ID, roles, antiforgery, OWASP Top 10

    25 h
  7. 2.7

    Testing on the web

    unit tests, integration tests with WebApplicationFactory, component tests, an end-to-end test with Playwright for .NET

    30 h
  8. 2.8

    Background work and integration

    BackgroundService, HttpClientFactory, retrying without sending twice, the outbox pattern, mail

    20 h
  9. 2.9

    Containers and a first deployment

    containers with dotnet publish and with a Dockerfile of your own (layers, multi-stage, small and secure images), Azure Container Registry, Docker Compose next to Aspire, Aspire locally, Azure Container Apps with azd

    30 h
  10. 2.10

    Working in a team

    pull requests, reviews, issues, definition of done, SOLID day to day

    15 h
  11. 2.12

    Designing APIs

    REST done well, OpenAPI as the contract, versioning, gRPC, webhooks, Azure API Management

    20 h
  12. 2.13

    Real time with SignalR

    hubs and clients, groups, sign-in and permissions in the hub, scaling with Azure SignalR Service or a backplane

    10 h
  13. 2.14

    SOLID with real examples

    each principle as a refactoring of the Kladde: the smell that shows it, the test that proves the gain, and when not to apply it

    15 h
  14. 2.11

    Final project

    the Kladde as a web application

    60 h

About 415 hours in all (indicative).

Lessons

You see the text and video of every lesson here on the site after buying the course; the titles and goals are already shown. A self-study course: you work through the lessons in order and check your exercises yourself against the solutions.

The lessons are only in German for now.

The lessons stand under their modules, in the order of the course. Click a module to open or close its lessons.

2.10 Working in a team

Indicative: 15 hours · 4 lessons
  1. Lesson 1 · about 180 minutes

    Issues und Definition of Done

  2. Lesson 2 · about 180 minutes

    Regeln im Repository

  3. Lesson 3 · about 180 minutes

    Reviews, die weiterhelfen

2.1 Web fundamentals

Indicative: 35 hours · 8 lessons
  1. Lesson 5 · about 240 minutes

    Wie das Web spricht: HTTP

  2. Lesson 6 · about 240 minutes

    HTML mit Bedeutung

  3. Lesson 7 · about 240 minutes

    Formulare ohne Skript

  4. Lesson 8 · about 300 minutes

    CSS: Kaskade, Box-Modell und Layout

  5. Lesson 9 · about 180 minutes

    Die Werkzeuge des Browsers

  6. Lesson 10 · about 180 minutes

    SCSS im Build

  7. Lesson 11 · about 300 minutes

    Barrierefreiheit nach WCAG 2.2

  8. Lesson 12 · about 240 minutes

    Schnelle Seiten

2.2 TypeScript, just what is needed

Indicative: 15 hours · 4 lessons
  1. Lesson 13 · about 180 minutes

    Skript mit Maß: TypeScript im Build

  2. Lesson 14 · about 180 minutes

    Typen in TypeScript für C#-Kenner

  3. Lesson 15 · about 240 minutes

    Das DOM: lesen, reagieren, ändern

  4. Lesson 16 · about 180 minutes

    Ein Skript pro Seite, sauber geschnitten

2.3 ASP.NET Core

Indicative: 40 hours · 10 lessons
  1. Lesson 17 · about 180 minutes

    Die erste Web-API

  2. Lesson 18 · about 240 minutes

    Routing und Ergebnisse

  3. Lesson 19 · about 240 minutes

    Dependency Injection

  4. Lesson 20 · about 240 minutes

    Konfiguration und Options

  5. Lesson 21 · about 300 minutes

    Middleware und Logging

  6. Lesson 22 · about 180 minutes

    Asynchron im Web

  7. Lesson 23 · about 180 minutes

    Fehler als ProblemDetails

  8. Lesson 24 · about 240 minutes

    Validierung am Rand, Regeln im Modell

  9. Lesson 25 · about 180 minutes

    Zeit im Web

  10. Lesson 26 · about 180 minutes

    OpenAPI und API-Design

2.4 Data

Indicative: 45 hours · 11 lessons
  1. Lesson 27 · about 180 minutes

    SQL Server im Container

  2. Lesson 28 · about 300 minutes

    SQL: abfragen

  3. Lesson 29 · about 240 minutes

    SQL: ändern, Datentypen, Einschränkungen

  4. Lesson 30 · about 240 minutes

    Daten modellieren

  5. Lesson 31 · about 240 minutes

    Indexe und Ausführungspläne

  6. Lesson 32 · about 300 minutes

    EF Core: DbContext und Abbildung

  7. Lesson 33 · about 240 minutes

    Migrationen

  8. Lesson 34 · about 120 minutes

    Testdaten und Seeding

  9. Lesson 35 · about 240 minutes

    Abfragen mit EF Core

  10. Lesson 36 · about 240 minutes

    Nebenläufigkeit und Transaktionen

  11. Lesson 37 · about 180 minutes

    Der Speicher als Adapter

2.5 Blazor

Indicative: 55 hours · 13 lessons
  1. Lesson 38 · about 180 minutes

    Die Blazor Web App

  2. Lesson 39 · about 300 minutes

    Komponenten

  3. Lesson 40 · about 180 minutes

    Layouts und Navigation

  4. Lesson 41 · about 240 minutes

    Daten anzeigen mit statischem SSR

  5. Lesson 42 · about 300 minutes

    Formulare ohne Skript

  6. Lesson 43 · about 300 minutes

    Die öffentliche Terminbuchung

  7. Lesson 44 · about 180 minutes

    Fehler, leere Listen und „nicht gefunden“

  8. Lesson 45 · about 300 minutes

    Interaktive Inseln mit InteractiveServer

  9. Lesson 46 · about 180 minutes

    Listen mit QuickGrid

  10. Lesson 47 · about 240 minutes

    Interaktive Inseln mit WebAssembly

  11. Lesson 48 · about 180 minutes

    Zustand, Ereignisse und Seitenskripte

  12. Lesson 49 · about 300 minutes

    Zwei Sprachen

  13. Lesson 50 · about 180 minutes

    Barrierefreie Komponenten

2.7 Testing on the web

Indicative: 30 hours · 8 lessons
  1. Lesson 51 · about 120 minutes

    Welcher Test wofür

  2. Lesson 52 · about 180 minutes

    Unit-Tests für Regeln und Endpunkte

  3. Lesson 53 · about 300 minutes

    Integrationstests mit WebApplicationFactory

  4. Lesson 54 · about 240 minutes

    Gegen die echte Datenbank

  5. Lesson 55 · about 120 minutes

    Registrierungen testen

  6. Lesson 56 · about 240 minutes

    Komponententests mit bUnit

  7. Lesson 57 · about 300 minutes

    Ein End-to-End-Test mit Playwright

  8. Lesson 58 · about 120 minutes

    Alle Tests in jedem Pull Request

2.6 Sign-in and permissions

Indicative: 25 hours · 6 lessons
  1. Lesson 60 · about 300 minutes

    OpenID Connect mit Microsoft Entra ID

  2. Lesson 61 · about 240 minutes

    Rollen und Richtlinien

  3. Lesson 62 · about 180 minutes

    Rechte testen

  4. Lesson 63 · about 180 minutes

    Antiforgery, XSS und Sicherheits-Header

  5. Lesson 64 · about 240 minutes

    Die OWASP Top 10 an der Kladde

2.8 Background work and integration

Indicative: 20 hours · 5 lessons
  1. Lesson 66 · about 240 minutes

    Hintergrunddienste

  2. Lesson 67 · about 180 minutes

    Wiederholen, ohne doppelt zu senden

  3. Lesson 68 · about 240 minutes

    Das Outbox-Muster

  4. Lesson 69 · about 180 minutes

    Mails verschicken, bestätigt

2.9 Containers and a first deployment

Indicative: 30 hours · 5 lessons
  1. Lesson 70 · about 180 minutes

    Container verstehen

  2. Lesson 71 · about 180 minutes

    Container mit dotnet publish

  3. Lesson 72 · about 240 minutes

    Aspire lokal

  4. Lesson 74 · about 240 minutes

    Ausliefern mit azd

2.11 Final project

Indicative: 60 hours · 13 lessons
  1. Lesson 75 · about 180 minutes

    Planen: der Weg zur fertigen Kladde

  2. Lesson 76 · about 300 minutes

    Meilenstein 1: Kontakte und Firmen

  3. Lesson 77 · about 300 minutes

    Meilenstein 2: Termine im Büro

  4. Lesson 78 · about 300 minutes

    Meilenstein 3: Freie Zeiten und Buchung

  5. Lesson 79 · about 300 minutes

    Meilenstein 4: Bestätigung und Postausgang

  6. Lesson 80 · about 300 minutes

    Meilenstein 5: Ausschreibungen importieren

  7. Lesson 81 · about 240 minutes

    Meilenstein 6: Ausschreibungen durchsuchen

  8. Lesson 82 · about 240 minutes

    Meilenstein 7: Zwei Sprachen

  9. Lesson 84 · about 240 minutes

    Meilenstein 9: Tests vervollständigen

  10. Lesson 85 · about 300 minutes

    Meilenstein 10: Ausliefern nach Azure

  11. Lesson 86 · about 300 minutes

    Review und Feinschliff

Final project: the Kladde

What the Kladde can do after this course

A web application with contacts, a public appointment booking with free slots and public tenders from the EU's TED interface, with sign-in through Entra ID, in two languages and delivered to Azure.

At the end you present the application in a demo, explain a part of your code and quiz yourself with practice questions and their answers – on your own or in front of someone you know.

More about the Kladde

Certifications

An offer, never a requirement: these Microsoft exams fit this stage. You take them at Microsoft; we are not a Microsoft training partner.

Keep learning with Microsoft Learn

Microsoft's learning paths and documentation that go with this course.

All courses at a glance