Order Management

A full-stack order management system built with ASP.NET Core and Blazor WebAssembly, designed around secure role-based workflows, transactional stock updates, and a built-in API testing experience.

What I Did

Key technical highlights and implementation details include:

  • Transactional Order Processing: Coupled order creation logic inside the application layer's use cases so product stock deductions and order record creation happen together through Entity Framework Core.
  • Role-Based Authorization: Leveraged ASP.NET Core Identity with secure JWT generation, protected backend endpoints using role-based authorization, and used a custom Blazor WebAssembly authentication state provider to update the UI based on Admin, Staff, or Customer claims.
  • State-Controlled Workflows: Designed an order state logic that enforces valid transitions such as Pending to Paid to Shipped to Delivered, blocks illegal skips or reversals, and restores inventory automatically when an order is cancelled.
  • Data Integrity Enforcement: Prevented structural data issues by checking active usage before deletions, wrapped failures with a custom global exception middleware for consistent JSON responses, and recorded lifecycle changes in an automated OrderAudit table.
  • Data Persistence: I used Entity Framework Core with SQLite for data storage and relational querying within the project.
  • Interactive API Testing Interface: Created a standalone Blazor WebAssembly client, with dynamic query and route parameter handling, editable JSON payloads, method-colored badges, and formatted response viewing.
  • Architecture: Constructed following robust Clean Architecture principles paired with a flexible, plugin-based approach for high maintainability, decoupling, and scalability.