Implement comprehensive notification system for LittleShop

- Add admin PWA push notifications for order management
- Integrate TeleBot customer messaging service
- Add push notification endpoints and VAPID key support
- Implement order status notifications throughout workflow
- Add notification UI components in admin panel
- Create TeleBotMessagingService for customer updates
- Add WebPush configuration to appsettings
- Fix compilation issues (BotStatus, BotContacts DbSet)
- Add comprehensive testing documentation

Features:
- Real-time admin notifications for new orders and status changes
- Customer order progress updates via TeleBot
- Graceful failure handling for notification services
- Test endpoints for notification system validation

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-19 16:17:24 +01:00
parent 68c5d2dfdf
commit 8b0e3e0611
258 changed files with 17387 additions and 1581 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
publish/telebot/LiteDB.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
publish/telebot/PgpCore.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
publish/telebot/Polly.dll Normal file

Binary file not shown.

BIN
publish/telebot/QRCoder.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
publish/telebot/Serilog.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
publish/telebot/TeleBot.dll Normal file

Binary file not shown.

BIN
publish/telebot/TeleBot.exe Normal file

Binary file not shown.

BIN
publish/telebot/TeleBot.pdb Normal file

Binary file not shown.

View File

@@ -0,0 +1,19 @@
{
"runtimeOptions": {
"tfm": "net9.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "9.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "9.0.0"
}
],
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,84 @@
{
"BotInfo": {
"Name": "LittleShop TeleBot",
"Description": "Privacy-focused e-commerce Telegram bot",
"Version": "1.0.0"
},
"BotManager": {
"ApiKey": "",
"Comment": "This will be populated after first registration with admin panel"
},
"Telegram": {
"BotToken": "",
"AdminChatId": "",
"WebhookUrl": "",
"UseWebhook": false,
"Comment": "Bot token will be fetched from admin panel API if BotManager:ApiKey is set"
},
"Webhook": {
"Secret": "",
"Comment": "Optional secret key for webhook authentication"
},
"LittleShop": {
"ApiUrl": "http://localhost:8080",
"OnionUrl": "",
"Username": "admin",
"Password": "admin",
"UseTor": false
},
"Privacy": {
"Mode": "strict",
"DataRetentionHours": 24,
"SessionTimeoutMinutes": 30,
"EnableAnalytics": false,
"RequirePGPForShipping": false,
"EphemeralByDefault": true,
"EnableTor": false,
"TorSocksPort": 9050,
"TorControlPort": 9051,
"OnionServiceDirectory": "/var/lib/tor/telebot/"
},
"Redis": {
"ConnectionString": "localhost:6379",
"InstanceName": "TeleBot",
"Enabled": false
},
"Database": {
"ConnectionString": "Filename=telebot.db;Password=;",
"EncryptionKey": "CHANGE_THIS_KEY_IN_PRODUCTION"
},
"Features": {
"EnableVoiceSearch": false,
"EnableQRCodes": true,
"EnablePGPEncryption": true,
"EnableDisappearingMessages": true,
"EnableOrderMixing": true,
"MixingDelayMinSeconds": 60,
"MixingDelayMaxSeconds": 300
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"System": "Warning"
},
"PrivacyMode": true
},
"Hangfire": {
"Enabled": false,
"DatabasePath": "hangfire.db"
},
"Cryptocurrencies": [
"BTC",
"XMR",
"LTC",
"DASH"
],
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://localhost:5010"
}
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.