docs: add Vendoo feature baseline
This commit is contained in:
+101
@@ -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.
|
||||
Reference in New Issue
Block a user