Skip to content
Al Shakib E Elahi
07n-Tier .NET

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

Merchandise Management System interface

01The problem

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.

02The approach

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.

03Architecture

How the pieces fit.

  1. Presentation

    ASP.NET MVC frontend.

  2. Service

    ASP.NET Web API with authentication and authorisation.

  3. Data access

    Entity Framework over MS SQL, queried with LINQ.

  4. Structure

    n-Tier layering following SOLID design principles.

04Tech stack
C#ASP.NET Web APIASP.NET MVCEntity FrameworkLINQMS SQL
05Key features
  • Full CRUD with authentication and authorisation
  • Entity Framework for data access, simplifying database interaction
  • LINQ for querying
  • n-Tier architecture following SOLID design principles
08What I took from it
  • 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.