Files
vendoo/FEATURES.md

102 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.