Back

PROJECT NOTE

Customer Order Management System

One domain model and one database serving both a modern ASP.NET Core web app and a .NET Framework 4.8 back-office client.

Challenge

Most established .NET shops run a mix of legacy .NET Framework desktop tools and modern web applications against a single database. Business rules drift when each client carries its own copy, and the schema ends up as a by-product of ORM class definitions instead of a deliberate design.

Approach

Schema-first SQL Server design with forward-only T-SQL migrations, transactional stored procedures for fulfilment, invoicing and payments, and reporting views. A shared .NET Standard domain and Dapper data layer keeps order status transitions, pricing, credit checks and validation in one place for both clients, with optimistic concurrency, role-based authorization, an audit trail, CSV import with all-or-nothing commit, and 297 tests across unit, database and HTTP levels run in CI against a SQL Server container.

Customer Order Management System web dashboard

Technologies / Areas

C#.NET 10.NET Framework 4.8ASP.NET Core MVCWinFormsDapperSQL ServerT-SQLxUnitGitHub Actions
View Source Code