Merchandise Management System
A university project built to learn the .NET Framework properly rather than to pass a module. It is the first system where I separated concerns because the architecture demanded it, not because a rubric asked for it - and the layering habits from it carry directly into the .NET Core services I maintain today.
- Year
- 2022
- Role
- Full-stack developer
- Context
- University project
- Category
- Academic

Merchandise Management System interface
Coursework projects usually collapse into one file that works on the demo machine. The goal here was the opposite: build something with real boundaries between presentation, business logic and data access, and find out what those boundaries cost.
An n-Tier architecture with an ASP.NET Web API backend and an ASP.NET MVC frontend over MS SQL. Entity Framework handles data access and LINQ handles querying, with authentication and authorisation on the API surface. SOLID principles were applied deliberately - the point of the exercise was the seams, not the CRUD.
How the pieces fit.
Presentation
ASP.NET MVC frontend.
Service
ASP.NET Web API with authentication and authorisation.
Data access
Entity Framework over MS SQL, queried with LINQ.
Structure
n-Tier layering following SOLID design principles.
- Full CRUD with authentication and authorisation
- Entity Framework for data access, simplifying database interaction
- LINQ for querying
- n-Tier architecture following SOLID design principles
- Layering feels like overhead until the first requirement change lands in exactly one layer.
- Learning a framework by building something structurally honest beats learning it by tutorial.