A full-featured ASP.NET Core MVC e-commerce web application designed for selling fruits and vegetables online, with role-based access control for admin, vendors, and customers.
Key Features:
1. Product Management & Display
Categories and subcategories (e.g., Fruits → Fresh Fruits, Organic Fruits, Vegetables → Fresh Vegetables, Organic Vegetables) are dynamically loaded.
Infinite scrolling on the product listing page – loads 8 products initially, then 4 more products on scroll.
Add to Cart via AJAX – Smooth, page-refresh-free cart management.
Planned favorites/wishlist functionality after cart completion.
2. Role-Based Dashboards
Admin Dashboard
Full control over categories, subcategories, users, vendors, and products.
Can approve/reject vendor products.
Implements soft delete & edit for categories and products.
Manages roles and privileges.
Vendor Dashboard
Vendors can add, edit, and manage their own products.
View orders for their products.
Limited access to only vendor-related modules.
3. Data Seeding
Seeded roles (Admin, Vendor, Customer), an admin user, and initial categories and subcategories.
4. Repository-Service-Controller Architecture
Ensures clean separation of concerns between data access, business logic, and presentation.
5. AutoMapper Integration
Used in services like CartService to map between entities and DTOs/ViewModels.
Tech Stack:
Backend: ASP.NET Core MVC, C#, Entity Framework Core, Repository-Service Pattern
Frontend: HTML5, CSS3, Bootstrap, JavaScript, AJAX
Database: SQL Server with EF Core migrations and seeding
Security: Identity roles (Admin, Vendor, Customer) for role-based authorization
Other: AutoMapper, LINQ, Partial Views