Regira Engineering Blog

Notes on .NET, TypeScript & Vue

Patterns, gotchas and small wins from fifteen-odd years of .NET and web work — the Regira packages and modules, entity pipelines, editorial front-ends and everything between.

21 articles
TypeScript / Vue / Architecture

List Screens That Survive the Back Button

Series · Entities front-end

A list screen users can bookmark, share and hit Back on without losing their filters, and that never shows an error over data that loaded fine. The rules behind it, and the Vue composables that apply them.

Pinned 11 min read
Data & EF Core / Architecture

One Database, Many Customers, No Leaks

One customer must never see another's rows, in any list, count or endpoint, including the one added next year. Seven requirements that make that a property of the system, and which of them no library can meet for you.

12 min read
.NET / Data & EF Core / Architecture

Westeros, the Iron Throne, and a Model for Complex Relationships

Series · People, organisations and alliances

One table for every customer, supplier and employee, with roles and alliances as dated relationships instead of extra tables. Tested on Westeros, where everyone knows who betrayed whom and when.

Pinned 14 min read
Data & EF Core / Architecture

Let Users Search for This or That

Series · Filtering in Regira Entities

Let users ask for this or that, one brand or anything overdue, in a list that still pages and sorts like every other. How to offer 'or' without a flag nobody trusts.

3 min read
Data & EF Core / Architecture

Filters You Register Once and Cannot Forget

Series · Filtering in Regira Entities

Rules that must hold for every record, such as hiding deleted data or showing each customer only their own, set up once and applied everywhere. They also cover the endpoint added next year, and nobody skips them by accident.

3 min read
Data & EF Core / Architecture

A Search Box That Finds Café When You Type Cafe

Series · Filtering in Regira Entities

A search box that finds 'Café' when someone types 'Cafe', and 'Mercedes-Benz' for 'mercedes', without extra work on every search. The trick: tidy the text once when it is saved, not each time someone searches.

4 min read
Data & EF Core / Architecture

Delete Without Losing Anything

Series · Filtering in Regira Entities

Let users delete a record and still get it back: it disappears from every screen, stays in the database, and restores in one click. A recycle bin and an audit view come with it, no extra code.

5 min read
Data & EF Core / Architecture

Sorting and Paging Without Surprises

Series · Filtering in Regira Entities

Lists that users sort by several columns, that load related data only when a screen asks, and that never hand a client a million rows. Declared once, applied to every list.

5 min read
Data & EF Core / Architecture

From Query Parameters to a Composable Filter Pipeline

Series · Filtering in Regira Entities

Search screens that stay simple as the filters pile up: name what users can filter on once, and let the database do the work. Most APIs grow a tangle of optional parameters nobody tests instead.

Pinned 8 min read