deltig

Architecture portfolio — .NET 10 × Angular 20

Five apps. Five patterns. One stack.

Each project ships the same domain-driven brief through a different architectural lens — layered monolith to event-driven microservices. Spec-first, tested, containerized, and live.

  • .NET 10
  • Angular 20
  • EF Core
  • RabbitMQ
  • Reqnroll
  • Docker
  • Coolify
See the work

Selected work

01 — 05
TaskFlow desktop screenshot: task dashboard with filters and completed items
TaskFlow mobile screenshot
Layered Monolith · 01

TaskFlow

JWT auth over a classic layered monolith — API, application, domain, infrastructure. EF Core + SQLite, task CRUD with filters and seed data.

  • JWT
  • EF Core
  • SQLite
  • xUnit
Open live app
StockNest desktop screenshot: inventory product table with low-stock indicators
StockNest mobile screenshot
Vertical Slice · 02

StockNest

Inventory management organized by feature slice, not technical layer. Stock movements, low-stock detection, and per-slice handlers end to end.

  • Vertical slices
  • MediatR-style
  • EF Core
  • SQLite
Open live app
MiniShop desktop screenshot: catalog, order form, and order list routed through an API gateway
MiniShop mobile screenshot
Microservices · 03

MiniShop

Three services behind one API gateway — catalog and orders own their data, the SPA only ever talks to the gateway. Cross-service flows over HTTP.

  • API Gateway
  • 3 services
  • SQLite per service
  • Compose
Open live app
OrderFlow desktop screenshot: order placement and event-driven notification feed
OrderFlow mobile screenshot
Event-Driven · 04

OrderFlow

Place an order and watch events fan out — OrderApi publishes, Inventory reserves or rejects, Notification consumes. RabbitMQ pub/sub, no shared database.

  • RabbitMQ
  • Pub/Sub
  • 3 services
  • At-least-once
Open live app
LibriBook desktop screenshot: library collection, members, and loan panel
LibriBook mobile screenshot
BDD · 05

LibriBook

Lending library where every behavior starts as a Gherkin scenario — 18 Reqnroll specs drive the loans domain: borrow, return, overdue fines, availability.

  • Reqnroll
  • 18 scenarios
  • Gherkin first
  • SQLite
Open live app

Approach

How these get built
Spec-first

Every app starts as a written spec and plan in the repo — constitution, requirements, tasks — before a single line of code. The spec is the contract.

Proven by tests

Unit, integration, and 18 Gherkin scenarios for the BDD project. Builds and test runs are part of the definition of done, not an afterthought.

Deployed for real

Each project ships with Dockerfiles and a Compose stack behind Coolify — the links above hit real containers, not screenshots of a localhost.