This is my project which is a e-commerce hardware platform.
-
Product Types: Our vast range of products include:
- Mouses, Keyboards, Headsets, Monitors, Mouse Pads
- Processors, Motherboards, RAM, Power Suppliers, Cases
- Coolers, Video Cards, Internal Drives
-
Page Functionalities:
- Filter Products: Easily narrow down your choices.
- Sort Products: Arrange products as per various criteria.
- State Maintenance: User-friendly interface and state management
-
Shopping Cart:
- Add products swiftly to your cart.
- Update the quantity, or remove items as you wish.
- The items are stored in the session if the customer is not logged in.
-
Favorites:
- Bookmark products you love.
- Session storage for visitors, database storage for logged-in users.
-
Logged-In User Features:
- Access and modify your profile.
- View order history.
- Peruse your favorites list.
-
Ordering:
- On successful order placement, you'll be redirected to an order confirmation page.
- Full-Text Search Bar: Get precise results with indexed search on product Name, Description, Model, and Manufacturer Name.
- Search Page: Equipped with product page functionalities for an efficient search experience.
-
Product:
- Id, Name, Price, Quantity, Description
- ManufacturerId, Model, Warranty
- AddDate, CategoryId, Reference Number
-
Category:
- Id, Name
-
Manufacturer:
- Id, Name
-
Characteristics Mapping Table:
- ProductId, CharacteristicNameId, Value
-
CharacteristicName:
- Id, Name
-
Favorites Mapping Table:
- ProductId, CustomerId
-
Shopping Cart Item Mapping Table:
- ProductId, CustomerId, Quantity
-
ProductOrder Mapping Table:
- ProductId, OrderId, Quantity
-
Order:
- Id (GUID type), OrderDate, TotalAmount
- OrderStatus, PaymentMethod, AdditionalNotes
- Personal and Address details: FirstName, LastName, Phone, City, Area, Address, CustomerId
-
Customer (Inherited from IdentityUser):
- FirstName, LastName, City, Area, Address
- Database: SQL Server
- Authentication: ASP.NET Core Identity
- User Interface: JavaScript, CSS, HTML
- Backend: C#
CREATE FULLTEXT CATALOG product_catalog;
CREATE FULLTEXT INDEX ON Products(Name, Manufacturer, Description, Model)
KEY INDEX PK_Products
ON product_catalog;
CREATE FULLTEXT INDEX ON Characteristics(Value)
KEY INDEX PK_Characteristics
ON product_catalog
CREATE FULLTEXT INDEX ON Manufacturers(Name)
KEY INDEX PK_Manufacturers
ON product_catalog;
- Setup: Ensure SQL Server is up and running and connection strings are correctly configured.
- Migration: Run the necessary migrations to set up the database.
- Search-Functionality: Create the necessary indexes to make the full-text search works.
- Run: Launch the website and begin exploring the hardware collection.