Technical Reference Projects
In-depth breakdowns, live links, and source repositories for reference platforms.
The projects below are designed to demonstrate complete software delivery lifecycles: from domain modelling and C4 architecture to automated Bicep deployments, CI/CD, and live production endpoints.
1. Distributed Systems Reference Platform
A production-style Azure SaaS application designed and implemented using an AI-assisted software engineering workflow.
- Key Concepts: Containerised services, API Gateway/BFF patterns, resilient message handling, and distributed tracing.
- Observability: Centralised telemetry correlation across Service Bus boundaries using Application Insights and Log Analytics.
- Architecture as Code: Visualised using Structurizr DSL and C4 Model container diagrams.
2. Event Sourcing Reference Platform
Demonstrates an enterprise-scale, event-sourced system modeled around mining blast-planning workflows. It replaces traditional CRUD updates with immutable domain events, supporting auditability, historical state reconstruction, and independently scalable read models.
- Architecture: Command Query Responsibility Segregation (CQRS), Domain-Driven Design (DDD), Event Sourcing
- Write Pipeline: ASP.NET Core API validates commands and appends events into Azure Cosmos DB (
/streamIdpartition) with optimistic concurrency. - Read Pipeline: Committed events are published to Azure Service Bus Topics, where Azure Functions project denormalised views into Azure SQL Database.
- Delivery & IaC: Bicep templates deployed via Azure DevOps multi-stage pipelines with What-If validation.
3. Ticketing Reference Application
Demonstrates pragmatic, production-ready full-stack software delivery without unnecessary architectural overhead.
- Key Capabilities: Dynamic filtering, sorting, pagination, and optimistic concurrency handling.
- Database Design: Isolated within the
ticketingschema of a shared database with independent EF Core migration histories. - Testing: HTTP boundary integration testing using
WebApplicationFactoryand in-memory SQLite.