Courses


πŸ—“οΈ 14-Week .NET Backend Developer Prep Plan

Phase 1 – Core Foundations (Weeks 1–4)

Week 1 – C# & OOP Fundamentals

Week 2 – SOLID Principles & Design Patterns (Creational/Structural)

Week 3 – ASP.NET Core Basics

  • Middleware & Request Pipeline
  • Controllers, Routing, Filters
  • Options pattern, Configuration
  • Dependency Injection basics (Scoped, Transient, Singleton)
    πŸ“š ASP.NET Core Docs

Week 4 – SQL & EF Core

  • SQL fundamentals (indexes, joins, transactions)
  • EF Core basics: DbContext, migrations, queries
  • EF Core performance: tracking vs no-tracking, compiled queries
    πŸ“š EF Core Docs

Phase 2 – Advanced Patterns & Architecture (Weeks 5–8)

Week 5 – Design Patterns (Behavioral)

Week 6 – Dependency Injection & Modular Design

Week 7 – Domain Driven Design (DDD)

Week 8 – Event Sourcing & CQRS


Phase 3 – System-Level & Senior Prep (Weeks 9–14)

Week 9 – Advanced ASP.NET Core

  • Authentication: JWT, Identity, OAuth2, OpenID Connect, Azure AD/MSAL
  • Authorization policies
  • Caching: In-memory, Distributed, Redis
    πŸ“š ASP.NET Security Docs

Week 10 – Observability & Performance

  • Logging: Serilog, structured logs
  • Tracing: OpenTelemetry, Application Insights
  • Profiling: BenchmarkDotNet, dotTrace
  • EF Core performance tuning (async queries, connection pooling)
    πŸ“š OpenTelemetry for .NET

Week 11 – .NET Aspire

  • Aspire AppHost & AppModel
  • Telemetry, health checks, configuration management
  • Cloud-ready setup for microservices
    πŸ“š MS Docs – .NET Aspire

Week 12 – Clean Architecture & Microservices

  • Clean Architecture, Onion, Hexagonal
  • API Gateway, REST, gRPC
  • Messaging: MassTransit, NServiceBus, Azure Service Bus/Event Grid
  • Azure basics: App Service, Storage, SQL DB
    πŸ“š MS Docs – .NET Architecture

Week 13 – Testing & Interview Prep

  • Unit testing: xUnit, FluentAssertions, Moq
  • Integration Testing with TestServer
  • System design practice (scaling APIs, event-driven systems)
  • LeetCode practice (C# filter)
    πŸ“š Testing in .NET

Week 14 – Capstone & Mock Interviews

  • Build a small end-to-end backend project using:
    • DDD + EF Core + CQRS + Aspire
    • Authentication, caching, logging
  • Final review of all topics
  • Mock interviews (system design + coding)
    πŸ“š Try .NET

🎯 Capstone Project: Event-Driven Order Management System

πŸ”‘ Objective

Build a backend system where customers can place orders, payments are processed, and inventory is updated β€” using DDD, EF Core, CQRS, Event Sourcing, .NET Aspire, and Clean Architecture.


πŸ—οΈ Architecture Overview

  • Presentation Layer
    • ASP.NET Core Web API (minimal APIs or controllers)
    • Authentication (JWT or Azure AD/MSAL)
    • Swagger for API docs
  • Application Layer
    • CQRS with MediatR (separate commands and queries)
    • Input validation (FluentValidation)
  • Domain Layer (DDD)
    • Entities: Order, Product, Customer, Payment
    • Value Objects: Money, Address
    • Aggregates: OrderAggregate with OrderItems
    • Domain Events: OrderPlaced, PaymentProcessed, InventoryUpdated
  • Infrastructure Layer
    • EF Core with SQL Server
    • Event Store (can simulate with EF table or use EventStoreDB if ambitious)
    • Repository pattern
    • Dependency Injection setup
  • Integration (Event-Driven)
    • Publish/subscribe with MassTransit + RabbitMQ (or Azure Service Bus)
    • Event Sourcing: Keep track of order events for replay
    • Outbox pattern (optional for reliability)
  • .NET Aspire Integration
    • Use Aspire’s AppHost to orchestrate services (API + DB + Messaging)
    • Centralized telemetry and health checks
    • Configuration management with Aspire
  • Observability
    • Logging with Serilog (structured logs)
    • Tracing with OpenTelemetry
    • Metrics dashboards (Prometheus/Grafana or App Insights)

⚑ Core Features to Implement

  1. Order Service

    • Create new order (with validation, aggregates, domain events)
    • Update/cancel order
    • Query order status (CQRS read model)
  2. Payment Service

    • Process payment for an order
    • Publish PaymentProcessed event
  3. Inventory Service

    • Listen to OrderPlaced event β†’ reduce stock
    • Publish InventoryUpdated event
  4. Event Sourcing

    • Store all order events (OrderPlaced, OrderShipped, etc.)
    • Ability to replay events to rebuild state
  5. Observability

    • Track request latency, failed payments, stock levels via logs/metrics

πŸ§ͺ Extra Stretch Goals

  • Add a gRPC endpoint for inter-service communication
  • Deploy to Azure App Service or Docker Compose with Aspire AppHost
  • Add Integration Tests with TestServer

πŸ“š Resources for Capstone

  • MS Docs – Clean Architecture in .NET
  • MediatR CQRS Sample
  • .NET Aspire
  • MassTransit with RabbitMQ

βœ… By completing this, you’ll demonstrate mastery of:

  • C# fundamentals + OOP
  • SOLID + Design Patterns
  • ASP.NET Core + EF Core
  • DDD + CQRS + Event Sourcing
  • Microservices & Messaging
  • Observability + Cloud readiness with Aspire