feat: add logging, marketplace, and admin enhancements

Database & Migrations:
- Add application_logs table migration for hybrid cloud logging
- Add companies table migration and restructure vendor relationships

Logging System:
- Implement hybrid logging system (database + file)
- Add log_service for centralized log management
- Create admin logs page with filtering and viewing capabilities
- Add init_log_settings.py script for log configuration
- Enhance core logging with database integration

Marketplace Integration:
- Add marketplace admin page with product management
- Create marketplace vendor page with product listings
- Implement marketplace.js for both admin and vendor interfaces
- Add marketplace integration documentation

Admin Enhancements:
- Add imports management page and functionality
- Create settings page for admin configuration
- Add vendor themes management page
- Enhance vendor detail and edit pages
- Improve code quality dashboard and violation details
- Add logs viewing and management
- Update icons guide and shared icon system

Architecture & Documentation:
- Document frontend structure and component architecture
- Document models structure and relationships
- Add vendor-in-token architecture documentation
- Add vendor RBAC (role-based access control) documentation
- Document marketplace integration patterns
- Update architecture patterns documentation

Infrastructure:
- Add platform static files structure (css, img, js)
- Move architecture_scan.py to proper models location
- Update model imports and registrations
- Enhance exception handling
- Update dependency injection patterns

UI/UX:
- Improve vendor edit interface
- Update admin user interface
- Enhance page templates documentation
- Add vendor marketplace interface
This commit is contained in:
2025-12-01 21:51:07 +01:00
parent 915734e9b4
commit cc74970223
56 changed files with 8440 additions and 202 deletions

View File

@@ -267,6 +267,70 @@
</div>
</div>
<!-- Marketplace Integration -->
<div class="mb-8">
<h3 class="mb-4 text-lg font-semibold text-gray-700 dark:text-gray-200">
<span x-html="$icon('shopping-bag', 'inline w-5 h-5 mr-2')"></span>
Letzshop Marketplace URLs
</h3>
<p class="mb-4 text-sm text-gray-600 dark:text-gray-400">
Configure CSV feed URLs for automatic product imports from Letzshop marketplace
</p>
<div class="space-y-4">
<!-- French CSV URL -->
<label class="block text-sm">
<span class="text-gray-700 dark:text-gray-400">
French CSV URL
</span>
<input
type="url"
x-model="formData.letzshop_csv_url_fr"
:disabled="saving"
placeholder="https://letzshop.lu/feed/fr/products.csv"
class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
>
<span class="text-xs text-gray-600 dark:text-gray-400 mt-1">
URL for French language product feed
</span>
</label>
<!-- English CSV URL -->
<label class="block text-sm">
<span class="text-gray-700 dark:text-gray-400">
English CSV URL
</span>
<input
type="url"
x-model="formData.letzshop_csv_url_en"
:disabled="saving"
placeholder="https://letzshop.lu/feed/en/products.csv"
class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
>
<span class="text-xs text-gray-600 dark:text-gray-400 mt-1">
URL for English language product feed
</span>
</label>
<!-- German CSV URL -->
<label class="block text-sm">
<span class="text-gray-700 dark:text-gray-400">
German CSV URL
</span>
<input
type="url"
x-model="formData.letzshop_csv_url_de"
:disabled="saving"
placeholder="https://letzshop.lu/feed/de/products.csv"
class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
>
<span class="text-xs text-gray-600 dark:text-gray-400 mt-1">
URL for German language product feed
</span>
</label>
</div>
</div>
<!-- Save Button -->
<div class="flex items-center justify-end gap-3 pt-6 border-t dark:border-gray-700">
<a