littleshop/CLAUDE.md

3.0 KiB

LittleShop - E-Commerce Platform

Overview

LittleShop is an ASP.NET Core 9.0 e-commerce platform with integrated Telegram bot support and cryptocurrency payment processing.

Architecture

  • Framework: ASP.NET Core 9.0 Web API + MVC
  • Database: SQLite with Entity Framework Core
  • Authentication: Dual-mode (Cookie for Admin Panel + JWT for API)
  • Structure: Clean separation between Admin Panel (MVC) and Client API (Web API)

Database Schema

Core Tables:

  • Users (Staff authentication)
  • Categories
  • Products
  • ProductPhotos
  • ProductVariations (quantity-based pricing)
  • Orders
  • OrderItems
  • CryptoPayments

Key Features:

  • Proper foreign key relationships
  • Product variations (e.g., 1 for £10, 2 for £19, 3 for £25)
  • Order workflow tracking with user accountability
  • Soft delete support (IsActive flag)

Features

Admin Panel (MVC)

  • Dashboard with statistics
  • Category management (CRUD)
  • Product management with photo uploads
  • Product variations management
  • Order workflow management
  • User management (staff only)
  • Mobile-responsive design

Client API (Web API)

  • Public product catalog
  • Order creation and management
  • Customer order lookup
  • Payment processing integration
  • Swagger documentation

Payment System

  • Multi-cryptocurrency support (BTC, XMR, USDT, LTC, ETH, ZEC, DASH, DOGE)
  • BTCPay Server integration
  • Privacy-focused (no customer personal data stored)
  • Webhook processing for payment status updates

TeleBot Integration

  • Product browsing with individual product bubbles
  • Customer order history and tracking
  • Quick buy functionality
  • Professional message formatting

Default Credentials

Admin Account:

  • Username: admin
  • Password: admin

File Structure

LittleShop/
├── Controllers/ (Client API)
├── Areas/Admin/ (Admin Panel MVC)
│   ├── Controllers/
│   └── Views/
├── Services/ (Business Logic)
├── Models/ (Database Entities)
├── DTOs/ (Data Transfer Objects)
├── Data/ (EF Core Context)
├── Enums/ (Type Safety)
└── wwwroot/uploads/ (File Storage)

Technical Notes

ASP.NET Core 9.0

  • Views need explicit model instances for proper binding
  • Area routing requires proper route configuration
  • Both Cookie (Admin) and JWT (API) authentication schemes

Entity Framework Core

  • SQLite handles complex relationships efficiently
  • Database initialization via EnsureCreated() for development
  • Proper decimal precision for currency values

Security

  • PBKDF2 password hashing (100,000 iterations)
  • Claims-based authorization
  • No customer PII storage (privacy-focused)
  • CORS configuration ready

Development Environment

  • Platform: Windows/WSL
  • Command Shell: cmd.exe recommended for .NET commands
  • Database: SQLite (file-based, no server required)
  • Hot Reload: Views require app restart in Production mode