littleshop/LittleShop/Areas/Admin/Views/Dashboard/Index.cshtml
sysadmin a281bb2896 Implement complete e-commerce functionality with shipping and order management
Features Added:
- Standard e-commerce properties (Price, Weight, shipping fields)
- Order management with Create/Edit views and shipping information
- ShippingRates system for weight-based shipping calculations
- Comprehensive test coverage with JWT authentication tests
- Sample data seeder with 5 orders demonstrating full workflow
- Photo upload functionality for products
- Multi-cryptocurrency payment support (BTC, XMR, USDT, etc.)

Database Changes:
- Added ShippingRates table
- Added shipping fields to Orders (Name, Address, City, PostCode, Country)
- Renamed properties to standard names (BasePrice to Price, ProductWeight to Weight)
- Added UpdatedAt timestamps to models

UI Improvements:
- Added Create/Edit views for Orders
- Added ShippingRates management UI
- Updated navigation menu with Shipping option
- Enhanced Order Details view with shipping information

Sample Data:
- 3 Categories (Electronics, Clothing, Books)
- 5 Products with various prices
- 5 Shipping rates (Royal Mail options)
- 5 Orders in different statuses (Pending to Delivered)
- 3 Crypto payments demonstrating payment flow

Security:
- All API endpoints secured with JWT authentication
- No public endpoints - client apps must authenticate
- Privacy-focused design with minimal data collection

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 17:37:24 +01:00

98 lines
3.5 KiB
Plaintext

@{
ViewData["Title"] = "Dashboard";
}
<div class="row mb-4">
<div class="col">
<h1><i class="fas fa-tachometer-alt"></i> Dashboard</h1>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="card text-white bg-primary mb-3">
<div class="card-header">
<i class="fas fa-shopping-cart"></i> Total Orders
</div>
<div class="card-body">
<h4 class="card-title">@ViewData["TotalOrders"]</h4>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card text-white bg-success mb-3">
<div class="card-header">
<i class="fas fa-box"></i> Total Products
</div>
<div class="card-body">
<h4 class="card-title">@ViewData["TotalProducts"]</h4>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card text-white bg-info mb-3">
<div class="card-header">
<i class="fas fa-tags"></i> Total Categories
</div>
<div class="card-body">
<h4 class="card-title">@ViewData["TotalCategories"]</h4>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card text-white bg-warning mb-3">
<div class="card-header">
<i class="fas fa-pound-sign"></i> Total Revenue
</div>
<div class="card-body">
<h4 class="card-title">£@ViewData["TotalRevenue"]</h4>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="card">
<div class="card-header">
<h5><i class="fas fa-chart-line"></i> Quick Actions</h5>
</div>
<div class="card-body">
<div class="list-group list-group-flush">
<a href="@Url.Action("Create", "Products")" class="list-group-item list-group-item-action">
<i class="fas fa-plus"></i> Add New Product
</a>
<a href="@Url.Action("Create", "Categories")" class="list-group-item list-group-item-action">
<i class="fas fa-plus"></i> Add New Category
</a>
<a href="@Url.Action("Index", "Orders")" class="list-group-item list-group-item-action">
<i class="fas fa-list"></i> View All Orders
</a>
<a href="@Url.Action("Create", "Users")" class="list-group-item list-group-item-action">
<i class="fas fa-user-plus"></i> Add New User
</a>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header">
<h5><i class="fas fa-info-circle"></i> System Information</h5>
</div>
<div class="card-body">
<ul class="list-unstyled">
<li><strong>Framework:</strong> .NET 9.0</li>
<li><strong>Database:</strong> SQLite</li>
<li><strong>Authentication:</strong> Cookie-based</li>
<li><strong>Crypto Support:</strong> 8 currencies via BTCPay Server</li>
<li><strong>API Endpoints:</strong> Available for client integration</li>
</ul>
</div>
</div>
</div>
</div>