Senior .NET Full Stack Developer β 10+ years building enterprise systems across investment banking, government, retail, manufacturing, and managed services.
I turn real-world senior engineering into code you can actually run. Every repository below is a complete, working project β clone it, run it, break it, learn from it.
β If a repo helps you, star it β stars are how other .NET developers discover these projects, and they tell me which topics to go deeper on next.
Backend: C#, .NET 8 / .NET 6, ASP.NET Core Web API, Entity Framework Core 8, LINQ Frontend: Angular 17/18, React 18, TypeScript 5.x Architecture: Microservices, REST APIs, gRPC, CQRS, Clean Architecture, Event-Driven Design Cloud & DevOps: Microsoft Azure (App Services, Functions, APIM, Service Bus, Key Vault, SQL DB, Monitor), Docker, Kubernetes (AKS), Terraform, Azure DevOps, GitHub Actions Data: SQL Server 2019/2022, Azure SQL, SQLite Auth: OAuth 2.0 / OIDC / JWT, Microsoft Entra ID (Azure AD), RBAC AI-assisted development: GitHub Copilot
Forty-one repositories, ordered beginner β advanced. Pick your level and go β every repo runs with one command, and most open instantly in GitHub Codespaces (no setup needed).
| # | Level | Repository | What you'll learn | Time |
|---|---|---|---|---|
| 1 | π’ Basic | csharp-basics | C# fundamentals: OOP, collections, LINQ, async/await, file I/O + mini projects | 2β3 weeks |
| 2 | π‘ Intermediate | design-patterns-dotnet | Classic design patterns in modern C# with runnable demos and tests | 1β2 weeks |
| 3 | π‘ Intermediate | aspnet-core-webapi-starter | Production-style REST API: EF Core, JWT auth, validation, error handling, tests, Docker | 1 week |
| 4 | π‘ Intermediate | dapper-vs-efcore | EF Core vs Dapper side-by-side: same queries, both ORMs, BenchmarkDotNet numbers | 3β4 days |
| 5 | π‘ Intermediate | sqlserver-efcore-pro | SQL Server + EF Core in depth: Docker SQL Server, migrations, stored procedures, indexing, execution plans, and query tuning | 1 week |
| 6 | π‘ Intermediate | dotnet-testing-guide | xUnit + Moq + FluentAssertions: pure unit, mocked, and WebApplicationFactory integration tests | 3β4 days |
| 7 | π‘ Intermediate | minimal-apis-cookbook | 12 Minimal API recipes: typed results, endpoint filters, route groups, OpenAPI grouping | 2β3 days |
| 8 | π‘ Intermediate | api-versioning-docs | API versioning in .NET 8: URL, query string, header & media type strategies, per-version Swagger docs, deprecation done right | 2β3 days |
| 9 | π Senior | clean-architecture-cqrs-template | Clean Architecture + CQRS + MediatR template you can clone for real projects | 1β2 weeks |
| 10 | π Senior | dotnet-microservices | Catalog + Ordering microservices, YARP gateway, RabbitMQ events, Docker Compose, Kubernetes | 2 weeks |
| 11 | π Senior | angular-dotnet-starter | Full-stack starter: Angular 18 + .NET 8 Web API with JWT auth | 1 week |
| 12 | π Senior | react-dotnet-starter | Full-stack starter: React 18 + Vite frontend + .NET 8 JWT Web API | 1 week |
| 13 | π Senior | angular-material-dashboard | Admin dashboard template: Angular Material sidenav shell, overview stats, sortable/filterable orders table, searchable customers, validated settings form | 2β3 days |
| 14 | π Senior | signalr-realtime | Realtime apps with SignalR: group chat, live dashboard, strongly-typed hubs, presence, Redis/Azure SignalR scaling | 3β4 days |
| 15 | π Senior | jwt-auth-deepdive | JWT auth done right: refresh-token rotation, reuse detection, revocation, RBAC, and a Microsoft Entra ID hookup path | 3β4 days |
| 16 | π Senior | kafka-dotnet | Kafka in .NET 8: keyed producer, consumer groups, manual commits, retries with backoff, dead-letter topic, Docker Kafka | 3β4 days |
| 17 | π Senior | redis-caching-dotnet | Caching in .NET 8: cache-aside, stampede protection (single-flight + stale-while-revalidate), pub/sub invalidation, cache-key discipline | 3β4 days |
| 18 | π Senior | resilience-with-polly | Resilience with Polly v8: retries with backoff+jitter, circuit breaker, timeouts, fallbacks, hedging, and one combined pipeline | 3β4 days |
| 19 | π Senior | grpc-dotnet | gRPC in .NET 8: unary, server-streaming, and bidirectional calls | 3β4 days |
| 20 | π Senior | azure-functions-serverless | Azure Functions (.NET 8): HTTP API, Service Bus trigger, timer trigger, Key Vault + Bicep | 1 week |
| 21 | π Senior | terraform-azure | Terraform IaC for Azure: App Service, Azure SQL, Key Vault, Service Bus | 3β4 days |
| 22 | π Senior | bicep-azure | Bicep, the Azure-native alternative to Terraform: APIM + .NET 8 Function App, Key Vault via managed identity, modular templates, dev/prod parameter files | 3β4 days |
| 23 | π Senior | docker-dotnet-mastery | Docker for .NET done properly: multi-stage builds, layer-cached restore, non-root containers, distroless (chisel) images, .dockerignore discipline | 3β4 days |
| 24 | π Senior | github-actions-patterns | GitHub Actions patterns for .NET: matrix builds, reusable workflows, approval-gated environment deploys, tag-triggered releases | 3β4 days |
| 25 | π Senior | aks-helm-deploy | Helm chart deploying the dotnet-microservices app to AKS: dev/prod values, autoscaling, Ingress, secrets via existingSecret, full AKS setup guide | 3β4 days |
| 26 | π Senior | ddd-tactical-patterns | DDD tactical patterns in .NET 8: Order aggregate, value objects (Money, Address), strongly-typed ids, domain events, invariants enforced by methods | 3β4 days |
| 27 | π Senior | outbox-pattern | Transactional outbox in .NET 8: order + event saved in one EF Core transaction, relay worker with at-least-once delivery, retries, and dedup | 3β4 days |
| 28 | π Senior | saga-choreography | Saga choreography in .NET 8: ordering β payment β shipping coordinated purely by events, with compensating refunds and idempotent handlers | 3β4 days |
| 29 | π Senior | vertical-slice-architecture | Vertical slice architecture in .NET 8: one feature, one folder β orders API where each slice owns its endpoint, validation, and rules | 3β4 days |
| 30 | π΄ Advanced | dotnet-advanced | Event sourcing, Span<T>/pipelines performance, source generators, AOT, BenchmarkDotNet | Ongoing |
| 31 | π Senior | react-query-dotnet | TanStack Query in React 18 + TypeScript against a .NET 8 JWT API: optimistic mutations with rollback, infinite queries, silent token refresh, live cache inspector | 2β3 days |
| 32 | π Senior | dotnet-diagnostics | Diagnose .NET like a pro: dotnet-counters, dotnet-trace, dotnet-dump, dotnet-gcdump & dotnet-stack against a deliberately sick demo API β CPU hotspot, memory leak, thread-pool starvation, lock contention, each with the fix | 3β4 days |
| 33 | π Senior | owasp-dotnet | OWASP Top 10 in .NET 8: every flaw demonstrated live and fixed β SQL injection, broken access control, SSRF, MD5 passwords, unsigned webhooks β with tests proving the attack works on /vuln and fails on /secure | 3β4 days |
| 34 | π Senior | rate-limiting-dotnet | Rate limiting in .NET 8: fixed window, sliding window, token bucket, concurrency, and per-API-key partitions side by side β real 429s with Retry-After headers, and tests proving each limiter's exact behaviour | 2β3 days |
| 35 | π Senior | csharp-interview-questions | 50 senior .NET interview Q&As with runnable code: C#, async/await, GC, ASP.NET Core, EF Core, architecture, concurrency, Azure β every answer proven by demos and xUnit tests, plus a 30-second answer structure and interview checklist | 1 week |
| 36 | π Senior | dotnet-system-design | System design in .NET 8: URL shortener, rate limiter, notification service β full design docs (requirements, capacity estimation, scaling, failure modes) plus runnable reference implementations and 25 tests, and a 4-step interview framework | 3β4 days |
| 37 | π’ All levels | awesome-dotnet-learning | Curated .NET learning resources: official docs, books, courses, videos, blogs, podcasts, practice sites, and tools β plus a level-by-level learning path through this portfolio; every link checked by CI | Ongoing |
| 38 | π Senior | dotnet-observability | Observability in .NET 8: OpenTelemetry traces with business spans, metrics (rate / p95 duration / in-flight / errors), and structured Serilog logs β all joined by one correlation id and one trace id, with a Jaeger path via OTLP and an Azure Monitor hookup | 3β4 days |
| 39 | π Senior | dotnet-background-jobs | Background jobs in .NET 8 with Quartz.NET: cron schedules, idempotent jobs, retries that actually work, misfire handling, graceful shutdown, and an HTTP control surface β plus the Quartz vs Hangfire vs IHostedService decision guide | 3β4 days |
| 40 | π Senior | dotnet-maui | .NET MAUI field-service app: one codebase for Android, iOS, macOS & Windows β offline-first work orders, sync outbox with idempotent retry, and a fully tested core library | 3β4 days |
| 41 | π Senior | dotnet-postgresql | PostgreSQL in .NET 8: JSONB specs, trigger-maintained full-text search, array tags, advisory-lock idempotent orders, LISTEN/NOTIFY, EF Core vs Dapper timed β plus the Postgres-for-SQL-Server-devs guide | 3β4 days |
Big, complete, production-shaped projects β the kind teams clone and build real products on.
| Project | What it is |
|---|---|
| βοΈ realtime-collab-docs | Notion-like collaborative document editor: several people edit the same document at once and see each other's changes live. SignalR real-time sync with versioned saves (stale saves rejected with 409 instead of overwriting), live presence and cursors, anchored comments, React editor, SQLite storage, one-command Docker Compose run β no keys, no external services. |
| π supportpilot-ai | A real product, not a starter: SupportPilot AI β an AI customer-support agent for small businesses. Train it on your own docs, drop one script tag on your website, and it answers customer questions 24/7 with sources. Multi-tenant SaaS: knowledge-base training, embeddable chat widget, conversation dashboard, plan quotas, Stripe billing, and a built-in offline brain that answers with citations with zero API keys (OpenAI provider via config). |
| dotnet-saas-starter | Production-ready SaaS boilerplate: multi-tenant .NET 8 API (tenant isolation enforced in EF Core), JWT + Microsoft Entra ID auth, Stripe billing with webhooks, background jobs, React admin dashboard, one-command Docker Compose run, Terraform for Azure. Ship your SaaS in a weekend. |
- Every claim is backed by code. Microservices, Azure, React, gRPC, Terraform, CQRS β each skill on my resume maps to a working repository, not a bullet point.
- Production habits throughout. CI on every repo, Dockerfiles, infrastructure as code, structured READMEs written for real users.
- Range, top to bottom. The ladder runs from first-console-app basics (mentoring material) to event sourcing and native AOT (architecture material) β that's what senior looks like.
- Find your level in the table above β start one step below where you're comfortable.
- Run it instantly: click the Codespaces badge in any repo's README, or clone and follow the Quick start.
- Break things on purpose. Change the code, watch tests fail, fix them β that's where the learning happens.
- Build something of your own with the starters, then come back for the next level.
Spotted a bug, a better example, or a clearer explanation? Issues and pull requests are welcome on any repository β that's how these get better for everyone.
- Email: varunkonnoju.tech@gmail.com
- LinkedIn: www.linkedin.com/in/varun-kumar-konnoju
Currently: Senior .NET Full Stack Developer @ Natixis (Capital Markets, New York)