AIB Digital
Ebook · PDF, 23 pages

The bugs that hurt a point of sale never show up in a demo.

A double charge on bad Wi-Fi. A sale saved without its payment. Two tills selling the last unit. Receipt numbers with gaps. This guide shows how Tilly POS designs each of them out — with the real ASP.NET Core and SQL Server code.

23 pagesReal code, not pseudo-codeASP.NET Core 10SQL ServerChecklist included
Cover of Building a Production POS in ASP.NET Core

What’s inside

Everything in Building a Production POS in ASP.NET Core.

  • The double charge — idempotency keys enforced by a unique index
  • Half a sale — one transaction, and receipt numbers with no gaps
  • The last unit — a conditional, row-locked UPDATE instead of check-then-write
  • Stock as a ledger — and weighted-average cost in one SQL statement
  • Multi-tenancy — EF Core query filters that default to nothing
  • Sign-in — short JWTs, rotating hashed refresh tokens and reuse detection
  • Permissions — without privilege escalation
  • Audit — a log nobody can edit, not even the owner
  • Billing webhooks — signed, time-limited and de-duplicated
  • Shipping it — tests against a real SQL Server, Docker, health checks, backups — and a one-page checklist

Screens

What you get, as it looks.

A page from chapter 7
A page from chapter 7
Read how it works first. Free excerpt: gap-free invoice numbers in SQL Server ↗ — a free article on dev.to. Questions before buying? Talk to us or WhatsApp +92 335 684 6600.