/PCShop

This repository holds my final web project (defence project for ASP.NET Advanced course) at SoftUni, developed using ASP.NET Core MVC

Primary LanguageC#MIT LicenseMIT

PCShop is my defence project for ASP.NET Advanced - октомври 2022 course at SoftUni.

💥 Deployed -> you can test it here

👓 Overview

PCShop is an online store for laptops and peripherals (monitors, keyboards, mice, headphones and microphones). Every registered user has the opportunity to browse the products in the store, and in order to improve the user experience, he can use the search and sorting filters, then he can buy the products he chooses. According to the policy of the app, when a user makes his first purchase he becomes a client and when he makes the required number of purchases (5) he gets the opportunity to add his own products for sale. The maximum number of active products to sell for one user is 10. There is a logic implemented that prevents a user from buying his own products but it is possible for him to edit and delete them.

🧱 Structure

  • Two separate areas – one common and one Administration area;
  • Two different roles – SuperUser and Administrator. SuperUser can add products to sell, Administrator have all privileges (only buying is not allowed);
  • The Database layer consists of 7 entity models (Laptop, Monitor, Keyboard, Mouse, Headphone, Microphone, Client);
  • The UI layer consists of 8 controllers in the common area and 2 controllers in the Administration area (plus one BaseController);
  • The Service layer consists of 9 services;
  • The Test layer consists of more than 160 tests (unit tests and integration tests);
  • More than 40 views and more than 10 partial views.

🛠️ Built With

🎞️ Screenshots


изображение



изображение



изображение



изображение



изображение



изображение



изображение



изображение



изображение



изображение


📌 DB Diagrams


изображение



изображение



изображение



изображение



изображение



изображение



изображение


🤠 On The Road To

  • Implement and integrate more functionality;
  • Improve user interface and user experience...