A comprehensive, modern e-commerce platform built with ASP.NET Core MVC, featuring a complete online shopping experience with advanced features for both customers and administrators.
- Project Overview
- Key Features
- Architecture
- Technology Stack
- Database Schema
- Security Features
- Performance Optimizations
- Contributing
AURA Store is a full-featured e-commerce solution that provides a seamless shopping experience with modern design, secure payment processing, and comprehensive admin management capabilities. The platform supports multiple user roles, advanced product management, and integrated third-party services including Stripe payments and Cloudinary image management.
- Advanced Product Catalog: Browse products with sophisticated filtering, search, and categorization
- Smart Shopping Cart: Add/remove items with quantity management and cart persistence across sessions
- Wishlist System: Save favorite products for future purchase with easy management
- Social Authentication: Secure registration/login with Google and Facebook OAuth integration
- Complete Order Management: Full order tracking, history, and status updates
- Product Reviews & Ratings: Comprehensive 5-star rating system with detailed customer reviews
- Promo Code System: Apply discount codes with percentage or fixed amount discounts
- Product Notifications: Get notified when out-of-stock products become available again
- Analytics Dashboard: Comprehensive sales analytics, order statistics, and user metrics
- Advanced Product Management: Complete CRUD operations with multi-image upload via Cloudinary
- Category Management: Hierarchical product organization and categorization
- Order Processing Center: Process orders, update status, and send automated notifications
- User Management: Comprehensive customer account and permission management
- Promo Code Administration: Create and manage discount codes with various conditions
- Secure Payment Processing: Full Stripe integration for PCI-compliant payments
- Email Notification System: SMTP-based automated email system for order updates
- Cloud Image Management: Cloudinary integration for optimized product image storage
- Role-Based Security: Granular Admin and Customer role separation
- Advanced Database Management: Entity Framework Core 9.0 with SQL Server
- Global Exception Handling: Custom exception filters with comprehensive error logging
The project follows a clean, layered architecture pattern with clear separation of concerns:
E-Commerce-03/
โโโ E-Commerce.Web/ # Presentation Layer (MVC)
โโโ E-Commerce.Business/ # Business Logic Layer
โโโ E-Commerce.DataAccess/ # Data Access Layer
- Web Layer: Controllers, Views, Areas (Admin/Customer/Authentication), Static files
- Business Layer: Services, ViewModels, AutoMapper profiles, External service integrations
- Data Access Layer: Entities, Repositories, DbContext, Migrations, Seeding
- .NET 9.0 - Latest .NET framework with performance improvements
- ASP.NET Core MVC - Modern web application framework
- Entity Framework Core 9.0 - Advanced ORM with Code First approach
- SQL Server - Enterprise-grade database
- Stripe.NET 48.4 - Secure payment processing integration
- Cloudinary .NET - Cloud-based image storage and optimization
- Bootstrap 5 - Responsive CSS framework with modern components
- jQuery 3.x - Enhanced JavaScript functionality
- Font Awesome - Comprehensive icon library
- Custom CSS - Modern, responsive styling with CSS Grid/Flexbox
- AJAX - Seamless asynchronous operations
- ASP.NET Core Identity - Robust user management and authentication
- Google OAuth 2.0 - Secure social login integration
- Facebook OAuth - Social authentication option
- Role-based Authorization - Granular access control system
- Stripe - PCI-compliant payment processing
- Cloudinary - Image storage, optimization, and delivery CDN
- Gmail SMTP - Reliable email notifications
The application uses a comprehensive relational database schema:
Core Entities:
- ApplicationUser - Extended Identity user with custom properties
- Products - Complete product catalog with images and metadata
- Categories - Hierarchical product categorization
- Carts & CartItems - Persistent shopping cart functionality
- Orders & OrderItems - Complete order management system
- Reviews - Product reviews with 5-star ratings
- PromoCodes - Flexible discount code system
- WishlistItems - Customer wishlist management
- ProductNotifications - Stock notification system
Database relationships are optimized with proper indexing and foreign key constraints.
- Multi-layer Authentication: Local accounts + OAuth (Google/Facebook)
- Role-based Authorization: Granular permission system
- Data Protection: EF Core security with parameterized queries
- Payment Security: PCI-compliant Stripe integration
- Input Validation: Comprehensive model validation and sanitization
- CSRF Protection: Anti-forgery tokens on all forms
- Secure Headers: Security headers for XSS protection
- Smart Pagination: Efficient data loading for large product catalogs
- Image Optimization: Cloudinary CDN with automatic image compression
- Database Indexing: Optimized queries with strategic indexing
- Lazy Loading: EF Core lazy loading for optimal performance
- Async Operations: Non-blocking database operations
We welcome contributions! Please follow these guidelines:
- Fork the repository
- Create a feature branch
- Advanced Analytics: Enhanced reporting dashboard with charts
- Real-time Notifications: WebSocket-based real-time updates
- Advanced Search: Elasticsearch integration for better search
- Recommendation Engine: AI-powered product recommendations
- โญ Star this repository if you find it helpful
- ๐ Report bugs
- ๐ก Request features
AURA Store - Your complete e-commerce solution built with modern technologies and best practices.
Built with โค๏ธ by the AuraStore team
