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.

File diff suppressed because one or more lines are too long

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

File diff suppressed because it is too large Load Diff

View File

View File

0
publish/Serilog.dll → publish/littleshop/Serilog.dll Executable file → Normal file
View File

0
publish/WebPush.dll → publish/littleshop/WebPush.dll Executable file → Normal file
View File

View File

@@ -0,0 +1,26 @@
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"Microsoft.AspNetCore": "Debug",
"LittleShop": "Debug"
}
},
"Security": {
"AllowInsecureSSL": true,
"EnableDetailedErrors": true
},
"CORS": {
"AllowedOrigins": [
"http://localhost:3000",
"http://localhost:5173",
"http://localhost:5000",
"http://localhost:5001",
"https://localhost:5001"
]
},
"TeleBot": {
"ApiUrl": "http://localhost:8080",
"ApiKey": "development-key-replace-in-production"
}
}

View File

@@ -10,8 +10,8 @@
},
"BTCPayServer": {
"BaseUrl": "https://thebankofdebbie.giize.com",
"ApiKey": "994589c8b514531f867dd24c83a02b6381a5f4a2",
"StoreId": "AoxXjM9NJT6P9C1MErkaawXaSchz8sFPYdQ9FyhmQz33",
"ApiKey": "db920209c0101efdbd1c6b6d1c99a48e3ba9d0de",
"StoreId": "CvdvHoncGLM7TdMYRAG6Z15YuxQfxeMWRYwi9gvPhh5R",
"WebhookSecret": "your-webhook-secret-here"
},
"RoyalMail": {

View File

@@ -28,6 +28,10 @@
"ForwardedForHeaderName": "X-Forwarded-For",
"ForwardedHostHeaderName": "X-Forwarded-Host"
},
"TeleBot": {
"ApiUrl": "${TELEBOT_API_URL}",
"ApiKey": "${TELEBOT_API_KEY}"
},
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
"MinimumLevel": "Information",

Some files were not shown because too many files have changed in this diff Show More