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.