Go to file
2025-09-24 13:11:21 +01:00
.claude 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
Deploy Add production deployment infrastructure 2025-09-20 21:10:48 +01:00
docker Production optimization: Docker configuration and monitoring stack 2025-09-19 12:35:41 +01:00
Hostinger Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
LittleShop Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
LittleShop.Client 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
LittleShop.Client.Example Add LittleShop.Client SDK library with complete API wrapper 2025-08-20 18:15:35 +01:00
LittleShop.Tests Fix SilverPay payment integration JSON serialization 2025-09-22 04:38:28 +01:00
publish Temporarily disable anti-forgery validation for HTTPS proxy compatibility 2025-09-19 16:44:37 +01:00
TeleBot 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
VapidKeyGenerator Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
.dockerignore Production optimization: Docker configuration and monitoring stack 2025-09-19 12:35:41 +01:00
.env.example Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
.env.hostinger Implement product variations, enhanced order workflow, mobile responsiveness, and product import system 2025-09-18 01:39:31 +01:00
.env.hostinger.template Configure BTCPay with external nodes via Tor 2025-09-19 12:14:39 +01:00
.env.production.template Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
.env.template Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
.gitignore Initial-implementation 2025-08-20 13:20:19 +01:00
.spec.MD Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
add-variations.sh Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
bot-ui-test-results.md Add customer communication system 2025-08-27 18:02:39 +01:00
BTCPAY_DEPLOYMENT_FIX.md Fix BTCPay Server integration for production deployment 2025-09-19 10:21:04 +01:00
BTCPAY_EXTERNAL_NODES_STATUS.md Configure BTCPay with external nodes via Tor 2025-09-19 12:14:39 +01:00
BTCPAY_SETUP.md Update BTCPay integration with production credentials and deployment documentation 2025-09-19 11:17:43 +01:00
btcpay-minimal-compose.yml BTCPay-infrastructure-recovery 2025-09-04 21:28:47 +01:00
btcpay-minimal-working.yml BTCPay-infrastructure-recovery 2025-09-04 21:28:47 +01:00
btcpay-server-compose.yml BTCPay-infrastructure-recovery 2025-09-04 21:28:47 +01:00
btcpay-simple-compose.yml BTCPay-infrastructure-recovery 2025-09-04 21:28:47 +01:00
btcpay-simple-testnet.yml BTCPay-infrastructure-recovery 2025-09-04 21:28:47 +01:00
btcpay-working-compose.yml BTCPay-infrastructure-recovery 2025-09-04 21:28:47 +01:00
btcpay.env BTCPay-infrastructure-recovery 2025-09-04 21:28:47 +01:00
CLAUDE.md Document production deployment status and E2E test results 2025-09-20 22:02:46 +01:00
commit_changes.bat Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
commit-msg.txt 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
COMPLETE_PROJECT_SUMMARY.md Add customer communication system 2025-08-27 18:02:39 +01:00
COMPREHENSIVE_TEST_REPORT_20250920.md Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
cookies-btc.txt Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
cookies-new.txt Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
cookies.txt 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
create_icons.html Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
create_pwa_icons.ps1 PWA-implementation 2025-09-01 04:49:05 +01:00
create-multibuys-table.sql 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
CreateMultiBuysTable.cs 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
CRYPTOCURRENCY_SETUP.md Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
DEPLOY_BTCPAY_SERVER.md BTCPay-infrastructure-recovery 2025-09-04 21:28:47 +01:00
deploy-hostinger-final.sh Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
deploy-hostinger-vps.sh Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
deploy-hostinger.sh Add Hostinger deployment configuration 2025-09-24 13:03:12 +01:00
deploy-production.sh Production optimization: Docker configuration and monitoring stack 2025-09-19 12:35:41 +01:00
deploy-to-hostinger.sh Configure BTCPay with external nodes via Tor 2025-09-19 12:14:39 +01:00
deploy-with-password.sh Update LittleShop configuration and deployment files 2025-09-18 19:27:58 +01:00
deploy.sh Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
DEPLOYMENT_FINAL_STATUS.md Update BTCPay integration with production credentials and deployment documentation 2025-09-19 11:17:43 +01:00
DEPLOYMENT_LESSONS_LEARNED.md Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
DEPLOYMENT_SLAB01.md Add customer communication system 2025-08-27 18:02:39 +01:00
DEPLOYMENT_STATUS.md Document production deployment status and E2E test results 2025-09-20 22:02:46 +01:00
DEPLOYMENT_SUCCESS.md Update BTCPay integration with production credentials and deployment documentation 2025-09-19 11:17:43 +01:00
DEPLOYMENT-CHECKLIST.md Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
deployment-export.txt Implement product variations, enhanced order workflow, mobile responsiveness, and product import system 2025-09-18 01:39:31 +01:00
DEPLOYMENT.md Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
DEVELOPMENT_LESSONS.md Add customer communication system 2025-08-27 18:02:39 +01:00
docker-build.sh Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
docker-compose-full.yml Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
docker-compose.hostinger.yml Add Hostinger deployment configuration 2025-09-24 13:03:12 +01:00
docker-compose.monitoring.yml Production optimization: Docker configuration and monitoring stack 2025-09-19 12:35:41 +01:00
docker-compose.prod.yml Production optimization: Docker configuration and monitoring stack 2025-09-19 12:35:41 +01:00
docker-compose.yml Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
docker-compose.yml.deploy Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
docker-deploy-hostinger.sh Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
DOCKER-DEPLOYMENT.md Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
Dockerfile Fix Dockerfile: Remove --no-build flag from publish stage 2025-09-24 13:11:21 +01:00
Dockerfile.deploy Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
Dockerfile.telebot Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
e2e-test.ps1 Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
e2e-test.sh Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
E2E-TEST-REPORT.md Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
env.hostinger Update LittleShop configuration and deployment files 2025-09-18 19:27:58 +01:00
fix-silverpay-server.sh Production deployment: Complete SilverPAY integration and e2e testing 2025-09-20 20:47:00 +01:00
frontend_link_crawler.py Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
full-cookies.txt Add customer communication system 2025-08-27 18:02:39 +01:00
full-e2e-test.sh Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
HOSTINGER_DEPLOYMENT.md Implement product variations, enhanced order workflow, mobile responsiveness, and product import system 2025-09-18 01:39:31 +01:00
HOSTINGER-DEPLOYMENT.md Configure BTCPay with external nodes via Tor 2025-09-19 12:14:39 +01:00
hostinger-deployment.tar.gz Configure BTCPay with external nodes via Tor 2025-09-19 12:14:39 +01:00
hostinger-docker-compose.yml Update LittleShop configuration and deployment files 2025-09-18 19:27:58 +01:00
INFRASTRUCTURE_RECOVERY_FINAL.md Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
INTEGRATION_TEST_RESULTS.md Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
littleshop-antiforgery-fix.tar.gz Add customer communication system 2025-08-27 18:02:39 +01:00
littleshop-btcpay-fix.tar.gz Configure BTCPay with external nodes via Tor 2025-09-19 12:14:39 +01:00
littleshop-complete.tar.gz Configure BTCPay with external nodes via Tor 2025-09-19 12:14:39 +01:00
littleshop-deploy.tar.gz Add customer communication system 2025-08-27 18:02:39 +01:00
littleshop-docker-build.tar.gz Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
littleshop-fix.tar.gz Temporarily disable anti-forgery validation for HTTPS proxy compatibility 2025-09-19 16:44:37 +01:00
littleshop-full.tar.gz Temporarily disable anti-forgery validation for HTTPS proxy compatibility 2025-09-19 16:44:37 +01:00
littleshop-hotfix.tar.gz Temporarily disable anti-forgery validation for HTTPS proxy compatibility 2025-09-19 16:44:37 +01:00
littleshop-platform-info.tar.gz Add customer communication system 2025-08-27 18:02:39 +01:00
LittleShop-Production-20250920-205012.tar.gz 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
LittleShop-Production-20250920-210823.tar.gz 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
littleshop-release.tar.gz Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
littleshop-src.tar.gz Configure BTCPay with external nodes via Tor 2025-09-19 12:14:39 +01:00
littleshop-ui-fixes.tar.gz Add customer communication system 2025-08-27 18:02:39 +01:00
littleshop-update.tar.gz Add customer communication system 2025-08-27 18:02:39 +01:00
littleshop-wizard-fixed.tar.gz Add customer communication system 2025-08-27 18:02:39 +01:00
littleshop-wizard.tar.gz Add customer communication system 2025-08-27 18:02:39 +01:00
LittleShop.sln Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
login_page.html Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
MANUAL_DEPLOYMENT_INSTRUCTIONS.md Update BTCPay integration with production credentials and deployment documentation 2025-09-19 11:17:43 +01:00
MCP_ENHANCEMENT_OPPORTUNITY.md Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
nginx.conf Implement product variations, enhanced order workflow, mobile responsiveness, and product import system 2025-09-18 01:39:31 +01:00
NOTIFICATION_IMPLEMENTATION.md Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
NOTIFICATION_TESTING_PLAN.md Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
nul 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
PERFORMANCE_PLAN.md Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
PORTAINER-DEPLOYMENT.md Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
PORTAINER-STEPS.md Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
prepare-deployment.sh Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
PRODUCTION.md Production optimization: Docker configuration and monitoring stack 2025-09-19 12:35:41 +01:00
products_page.html Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
PROJECT_README.md Add LittleShop.Client SDK library with complete API wrapper 2025-08-20 18:15:35 +01:00
quick-test.sh Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
README.md Security: Fix critical vulnerabilities and implement security hardening 2025-09-19 11:56:12 +01:00
ROADMAP.md Security: Fix critical vulnerabilities and implement security hardening 2025-09-19 11:56:12 +01:00
SESSION_LESSONS_LEARNED.md Add customer communication system 2025-08-27 18:02:39 +01:00
setup-monitoring.sh Production optimization: Docker configuration and monitoring stack 2025-09-19 12:35:41 +01:00
SILVERPAY_CLEANUP_COMPLETE.md Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
SILVERPAY_FIX_COMPLETE.md Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
SILVERPAY_MIGRATION_GUIDE.md Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
SILVERPAY_SERVER_FIX.md Production deployment: Complete SilverPAY integration and e2e testing 2025-09-20 20:47:00 +01:00
SILVERPAY-SETTINGS.md Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
Source.lnk 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
telebot-deploy.tar.gz Deploy LittleShop to Hostinger with Docker and BunkerWeb 2025-09-24 13:00:17 +01:00
telebot-fixes-v2.tar.gz Production optimization: Docker configuration and monitoring stack 2025-09-19 12:35:41 +01:00
telebot-fixes.tar.gz Production optimization: Docker configuration and monitoring stack 2025-09-19 12:35:41 +01:00
telebot-release.tar.gz Implement comprehensive notification system for LittleShop 2025-09-19 16:17:24 +01:00
telebot-safe-src.tar.gz Configure BTCPay with external nodes via Tor 2025-09-19 12:14:39 +01:00
test_and_fix_integration.sh Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
test_bot_flow.py Configure BTCPay with external nodes via Tor 2025-09-19 12:14:39 +01:00
test_e2e_comprehensive.sh Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
test_navigation_links.sh Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
test_results_20250920_175753.json Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
test_results_20250920_175907.json Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
test_results_20250920_181119.json Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
test_silverpay_integration.sh Remove BTCPay completely, integrate SilverPAY only, configure TeleBot with real token 2025-09-20 19:22:29 +01:00
test-bot-functionality.sh Add customer communication system 2025-08-27 18:02:39 +01:00
test-cookies2.txt Add customer communication system 2025-08-27 18:02:39 +01:00
test-cookies.txt Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
test-image.txt Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
test-navigation-cookies.txt Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
test-order.json 🔒 SECURITY: Emergency fixes and hardening 2025-09-22 05:45:49 +01:00
test-upload.png Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
TestBTCPayConnection.cs Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
TestPaymentFlow.cs Initial commit of LittleShop project (excluding large archives) 2025-09-17 15:07:38 +01:00
token.txt Add customer communication system 2025-08-27 18:02:39 +01:00
wizard-cookies.txt Add customer communication system 2025-08-27 18:02:39 +01:00

LittleShop API

A basic online sales system backend built with ASP.NET Core 9.0, featuring multi-cryptocurrency payment support via BTCPay Server.

Features

Admin Panel

  • Authentication: JWT-based authentication for admin users
  • Categories: Full CRUD operations for product categories
  • Products: Complete product management with image upload support
  • Users: Staff user management (username/password only)
  • Orders: Order management with status tracking
  • Accounting: Dashboard and financial overview

Public API

  • Catalog: Public product and category browsing
  • Orders: Order creation and management by client identity reference
  • Payments: Multi-cryptocurrency payment processing
  • Tracking: Order status and tracking

Cryptocurrency Support

  • BTC (Bitcoin) + Lightning Network
  • XMR (Monero) - Privacy coin
  • USDT (Tether) - Stablecoin
  • LTC (Litecoin)
  • ETH (Ethereum)
  • ZEC (Zcash) - Privacy coin
  • DASH (Dash)
  • DOGE (Dogecoin)

Getting Started

Prerequisites

  • .NET 9.0 SDK
  • SQLite (included)
  • BTCPay Server instance (for production)

Configuration

Update appsettings.json with your settings:

{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=littleshop.db"
  },
  "Jwt": {
    "Key": "YourSuperSecretKeyThatIsAtLeast32CharactersLong!",
    "Issuer": "LittleShop",
    "Audience": "LittleShop",
    "ExpiryInHours": 24
  },
  "BTCPayServer": {
    "BaseUrl": "https://your-btcpay-server.com",
    "ApiKey": "your-api-key",
    "StoreId": "your-store-id",
    "WebhookSecret": "your-webhook-secret"
  }
}

Running the Application

  1. Clone and build:

    dotnet restore
    dotnet build
    
  2. Run:

    dotnet run
    
  3. Access:

    • API: https://localhost:5001
    • Swagger UI: https://localhost:5001/swagger

Default Admin User

  • Username: admin
  • Password: admin

API Endpoints

Authentication

  • POST /api/auth/login - Login (get JWT token)
  • GET /api/auth/users - List users (admin)
  • POST /api/auth/users - Create user (admin)

Categories

  • GET /api/categories - List categories
  • POST /api/categories - Create category (admin)
  • PUT /api/categories/{id} - Update category (admin)
  • DELETE /api/categories/{id} - Delete category (admin)

Products

  • GET /api/products - List products
  • GET /api/products?categoryId={id} - Products by category
  • POST /api/products - Create product (admin)
  • POST /api/products/{id}/photos - Upload product photo (admin)

Public Catalog

  • GET /api/catalog/categories - Public category list
  • GET /api/catalog/products - Public product list

Orders

  • POST /api/orders - Create order
  • GET /api/orders/by-identity/{identity} - Get orders by identity
  • POST /api/orders/{id}/payments - Create crypto payment
  • GET /api/orders/{id}/payments - Get order payments
  • POST /api/orders/{id}/cancel - Cancel order

Admin Order Management

  • GET /api/orders - List all orders (admin)
  • PUT /api/orders/{id}/status - Update order status (admin)

Product Weight Units

  • Unit (0) - Generic unit
  • Micrograms (1)
  • Grams (2)
  • Ounces (3)
  • Pounds (4)
  • Millilitres (5)
  • Litres (6)

Order Statuses

  • PendingPayment (0) - Awaiting payment
  • PaymentReceived (1) - Payment confirmed
  • Processing (2) - Being processed
  • PickingAndPacking (3) - Preparing for shipment
  • Shipped (4) - Shipped with tracking
  • Delivered (5) - Delivered
  • Cancelled (6) - Cancelled
  • Refunded (7) - Refunded

Payment Workflow

  1. Customer creates order via API
  2. Order receives unique ID and pending status
  3. Customer requests payment in preferred cryptocurrency
  4. System generates unique wallet address and amount
  5. Customer sends payment to provided address
  6. BTCPay Server detects payment and triggers webhook
  7. Order status updates to PaymentReceived
  8. Admin processes order through picking & packing
  9. Shipping label generated via Royal Mail API
  10. Customer receives tracking information

Security Features

  • JWT authentication for admin endpoints
  • Password hashing with PBKDF2
  • No customer personal data stored (identity reference only)
  • Self-hosted payment processing (no third-party data sharing)
  • CORS configuration for web clients

Logging

  • Structured logging with Serilog
  • Console and file output
  • Request/response logging
  • Payment processing audit trail

Development

The API is built with:

  • ASP.NET Core 9.0 - Web framework
  • Entity Framework Core - Database ORM
  • SQLite - Database
  • JWT - Authentication
  • AutoMapper - Object mapping
  • FluentValidation - Input validation
  • Serilog - Logging
  • Swagger - API documentation
  • BTCPay Server Client - Crypto payments

Privacy & Compliance

  • No KYC requirements
  • No customer personal data retention
  • Privacy-focused cryptocurrencies supported (XMR, ZEC)
  • Self-hosted payment processing
  • GDPR-friendly design (minimal data collection)

Development Roadmap

See ROADMAP.md for detailed development plans, including:

  • 🚨 Critical security fixes (immediate priority)
  • 📋 Production readiness improvements
  • 🚀 Feature enhancements (shipping, notifications, analytics)
  • 🏗️ Long-term scalability and optimization plans

Recent Updates

  • Security vulnerabilities identified and documented (Sep 19, 2025)
  • BTCPay Server integration fixed with production credentials (Sep 19, 2025)
  • Product variations and mobile workflow implemented (Sep 18, 2025)