docs: add Vendoo feature baseline

This commit is contained in:
Masterluke77
2026-07-07 09:42:00 +02:00
parent 7412fd783e
commit ba69bc5e12
+101
View File
@@ -0,0 +1,101 @@
# Vendoo Feature-Dokumentation
> Lokaler Multi-Plattform Listing-Generator mit AI, Lagerverwaltung und Publishing-System.
> Stand: 2026-07-07 | Version 1.0.0
## Verbindlicher Tech Stack
- Backend: Node.js + Express als ESM
- Frontend: Vanilla HTML/CSS/JavaScript ohne Framework und ohne Build-Schritt
- Datenbank: SQLite über `better-sqlite3` im WAL-Modus
- AI: Anthropic Claude, OpenAI, OpenRouter und Ollama
- Bildverarbeitung: `sharp`
- Rich Text: Quill
- QR-Codes: QRious
- E-Mail: Nodemailer
- Auth: Scrypt, Sessions, Magic Links, Rollen `admin` und `editor`, CSRF
- Browser-Erweiterung: Chrome Manifest v3
## Verbindliche Projektstruktur
- `server.mjs`: Express-Server und API-Routen
- `lib/db.mjs`: Datenbankzugriff und `MIGRATIONS`-Array
- `lib/*.mjs`: Auth, AI, Bilder, Gebühren, Kategorien, Mailer und Plattform-APIs
- `platforms/*.mjs`: plattformspezifische Prompt- und Parsing-Logik
- `public/index.html`: Single-Page-Oberfläche
- `public/app.js`: gesamte Frontend-Logik
- `public/style.css`: Styling und Dark Mode
- `extension/`: Chrome-Erweiterung
- `db/schema.sql`: Datenbankschema
- `uploads/`: lokale Produktfotos, nicht versioniert
## Entwicklungsregeln
1. Neue DB-Spalten werden als neue Migration im `MIGRATIONS`-Array von `lib/db.mjs` ergänzt.
2. Migrationen verwenden das bestehende `try/catch ALTER TABLE`-Muster.
3. Neue DB-Funktionen werden aus `lib/db.mjs` exportiert und in `server.mjs` importiert.
4. Neue API-Routen werden in `server.mjs` angelegt.
5. Sidebar-Navigation verwendet `data-tab`.
6. Tab-Inhalte sind `<section class="tab-content">`.
7. Topbar-Titel werden über die `TAB_TITLES`-Map gesteuert.
8. Dark Mode verwendet ausschließlich CSS Custom Properties unter `[data-theme="dark"]`.
9. Die UI ist deutschsprachig.
10. SKUs werden im Format `VD-XXXX` erzeugt.
11. Schreibende Requests benötigen Session, Rollenprüfung und CSRF-Token.
## Funktionsbereiche
1. AI-Listing-Generator
2. Foto-Management und Bildeditor
3. Listing-Verwaltung und Historie
4. Vorlagen-System
5. Publishing-System einschließlich Smart Copy, Etsy, eBay und Warteschlange
6. Lagerverwaltung
7. SKU-System
8. Gebührenrechner
9. Kategorie-System
10. Etiketten- und Datenblattdruck
11. Authentifizierung und Benutzerverwaltung
12. SMTP und E-Mail
13. Systeminformationen, Backup und Restore
14. Chrome-Erweiterung für Vinted
15. Einstellungen und Provider-Konfiguration
16. Responsive UI, Dark Mode, Toasts und Quill
17. Windows-Installer mit Install, Start, Update, Repair, Uninstall und Status
## Datenbereiche
Zentrale Tabellen:
- `listings`
- `templates`
- `publish_log`
- `ebay_queue`
- `scheduled_publish`
- `settings`
- `users`
- `sessions`
- `auth_tokens`
- `rate_limits`
- `audit_log`
- `login_history`
## Online- und Docker-Zielbild
Vendoo soll zusätzlich zur lokalen Windows-Installation später als Docker-Anwendung betrieben werden können. Für öffentliche Nutzer ist ein von privaten NAS-Daten getrennter Server/VPS vorgesehen. Der NAS-Betrieb ist nur für private Nutzung oder einen streng geschlossenen Testkreis vorgesehen.
Zwingende Grundlagen:
- konfigurierbare Pfade für Datenbank, Uploads und Backups
- `PUBLIC_BASE_URL`
- Reverse-Proxy-Unterstützung und begrenztes `trust proxy`
- HTTPS und sichere Cookies
- Health- und Readiness-Endpunkte
- Secrets-Unterstützung
- nicht privilegierter Container
- konsistente SQLite-Backups
- gehärtete Upload-Verarbeitung
- dynamische OAuth-Callbacks
- spätere Organisations- und Mandantentrennung vor öffentlichem Mehrkundenbetrieb
Die ausführliche ursprüngliche Feature-Dokumentation bleibt die fachliche Referenz und soll zusammen mit dem lokalen Quellprojekt vollständig importiert werden.